編譯faac音訊編碼庫

2021-10-17 11:23:01 字數 1531 閱讀 3455

faac是mpeg-4和mpeg-2的aac編碼器,我們將使用它作為音訊的軟編碼庫。

faac官網:

sudo wget
tar zxvf  faac-1.29.9.2.tar.gz
1.執行cd faac-1.29.9.2開啟資料夾

2.執行sudo vim generate.sh建立編輯指令碼檔案,並編輯如下內容,編輯完成儲存(注:檔案中換行前需使用\轉義,否則命令行會當作回車執行命令)

#!/bin/bash

#ndk目錄,使用之前環境變數中配置的ndk

ndk=$ndk

#編譯工具鏈目錄

toolchain=$ndk/toolchains/llvm/prebuilt/linux-x86_64

#目標平台版本,我們將相容到android-21

api=21

function build

#armeabi-v7a

#編譯後安裝位置 pwd表示當前目錄

prefix=`pwd`/android/armeabi-v7a

export target=armv7a-linux-androideabi

#一般的庫都會使用$cc 變數來儲存編譯器,設定cc變數的值為clang。

#ndk19之前可以使用 /ndk/arm-linux-androideabi-gcc 來編譯, 然而ndk19開始gcc被移除,由clang替代。

export cc=$toolchain/bin/$target$api-clang

export cxx=$toolchain/bin/$target$api-clang++

flags="--target=$target$api --gcc-toolchain=$toolchain -g -dandroid -fdatasections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -wa,--noexecstack -wformat -werror=format-security -oz -dndebug -fpic "

build

3.如果要編譯為arm64-v8a,則只需替換以下**即可

#arm64-v8a

prefix=`pwd`/android/arm64-v8a

export target=aarch64-linux-android

3.執行./generate.sh命令,如果執行成功,會在目錄下生成android目錄,開啟android目錄即可檢視到對應prefix的目錄,如:armeabi-v7a目錄

注:這裡要注意兩點:

_1.確保ndk路徑已經配置環境變數和已經過載配置的環境變數,且路徑位址準確

本章內容介紹結束。

AAC音訊編碼庫FAAC和解碼庫FAAD移植

編譯faac 1.28時遇到錯誤 mpeg4ip.h 126 error new declaration char strcasestr const char const char 解決方法 common mp4v2 mpeg4ip.h 從123行開始修改此檔案mpeg4ip.h,到129行結束。修...

faac庫編碼PCM資料

faac是乙個成熟的aac編碼庫。其提供的主要介面函式如下 faacencopenfaacenchandle faacapi faacencopen unsigned long samplerate,unsigned int numchannels,unsigned long inputsample...

faac靜態庫的編譯

本地建立乙個新的資料夾進入檔案在mac終端下面執行 wget 2.新建指令碼build faac.sh內容如下 bin sh configure flags enable static with pic archs arm64 armv7s armv7 directories source faac...