lame
lame是非常優(yōu)秀的一種MP3編碼引擎,在業(yè)界,轉(zhuǎn)碼成MP3 格式的音頻文件時(shí),最常用的編碼器就是lame庫(kù)。
wsl
Windows Subsystem for Linux(簡(jiǎn)稱wsl),適用于 Linux 的 Windows 子系統(tǒng)可讓開發(fā)人員按原樣運(yùn)行 GNU/Linux 環(huán)境 - 包括大多數(shù)命令行工具、實(shí)用工具和應(yīng)用程序 - 且不會(huì)產(chǎn)生傳統(tǒng)虛擬機(jī)或雙啟動(dòng)設(shè)置開銷。
安裝可以看windows 10安裝wsl
1. 使用Android Studio下載ndk

下載ndk.png
2. 下載lame
https://sourceforge.net/projects/lame/files/lame/
3. 在lame根目錄下新建一個(gè)shell腳本配置各種變量并編譯
#!/bin/bash
NDK_ROOT=/mnt/f/Android/Sdk/ndk/21.4.7075529
PREBUILT=$NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64
PLATFORM=$NDK_ROOT/platforms/android-30/arch-arm
export PATH=$PATH:PREBUILT/bin:$PLATFORM/usr/include:
export LDFLAGS="-L$PLATFORM/usr/lib -L$PREBUILT/arm-linux-androideabi/lib -march=armv7-a"
export CFLAGS="-I$PLATFORM/usr/include -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -ffast-math -O2"
export CPPFLAGS="$CFLAGS"
export CFLAGS="$CFLAGS"
export CXXFLAGS="$CFLAGS"
export LDFLAGS="$LDFLAGS"
export AS=$PREBUILT/bin/arm-linux-androideabi-as
export LD=$PREBUILT/bin/arm-linux-androideabi-ld
export CXX="$PREBUILT/bin/arm-linux-androideabi-g++ --sysroot=${PLATFORM}"
export CC="$PREBUILT/bin/arm-linux-androideabi-gcc --sysroot=${PLATFORM} -march=armv7-a "
export NM=$PREBUILT/bin/arm-linux-androideabi-nm
export STRIP=$PREBUILT/bin/arm-linux-androideabi-strip
export RANLIB=$PREBUILT/bin/arm-linux-androideabi-ranlib
export AR=$PREBUILT/bin/arm-linux-androideabi-ar
./configure --host=x86_64-linux\
--disable-shared\
--disable-frontend\
--enable-static\
--prefix=/mnt/f/Android/Project/Cproject/lame-3.99.5/armv7a
make clean
make -j8
make install
4. 在armv7a文件下可以看到編譯結(jié)果

lame交叉編譯完成.png