iOS LAME
LAME是一种非常优秀的MP3编码引擎
转码成MP3格式的音频文件时,最常用的就是LAME库
编译LAME
1.先下载LAME,地址https://sourceforge.net/projects/lame/files/lame/3.100/
2.编写一个build_armv7.sh
脚本,用于编译armv7指令集下的版本
./configure \
--disable-shared \
--disable-frontend \
--host=arm-apple-darwin \
--prefix="/Users/wangzhen/Movies/lame-test/lame/thin/armv7" \
CC="xcrun -sdk iphoneos clang -arch armv7" \
CFLAGS="-arch armv7 -fembed-bitcode -miphoneos-version-min=7.0" \
LDFLAGS="-arch armv7 -fembed-bitcode -miphoneos-version-min=7.0"
make clean
make -j8
make install
3.目录结构如下
在终端中 cd 到 lame-3.100
目录下
cd /Users/xxxxx/Movies/lame-test/lame/lame-3.100
然后执行命令sudo ../build_armv7.sh
,提示输入密码,即可
此时目录下多了如下的文件:
同样的步骤,可以编译arm64下的版本,然后使用lipo -create
来合并静态库
lipo -create ./arm64/lib/libmp3lame.a ./armv7/lib/libmp3lame.a -output libmp3lame.a
合并之后,使用file libmp3lame.a
来验证,如果输出如下的内容,则说明编译成功了:
libmp3lame.a: Mach-O universal binary with 2 architectures: [arm_v7:current ar archive random library] [arm64]
libmp3lame.a (for architecture armv7): current ar archive random library
libmp3lame.a (for architecture arm64): current ar archive random library
当然,也可以直接使用build-lame.sh,不用自己来写shell了,参考
lame iOS打包