MP3编码引擎,使用LAME转码MP3有着良好的音质,同时产生的文件体积也非常小,可以说是物美价廉的典范。
在iOS项目中使用LAME,首先我们可以去LAME MP3 Encoder下载下源码。
下载完源码后,将以下脚本放在lame的目录下,使用编译脚本编译出静态库,可以自行选择使用单独架构的静态库,也可以使用合成的静态库,分别在fat-lame文件夹和thin-lame文件夹。
1 | #!/bin/sh |
- –disable-shared 关闭动态链接库
- –disable-frontend 编译不生成可执行文件
- –host 指定编译出的库所用的平台
- –prefix 指定编译后库的路径
- CC 指定编译器
- CFLAGS 指定编译参数,表示支持的架构,bitcode开关,支持iOS最低版本
- LDFLAGS 链接器参数
编译成功后我们可以看看fat-lame里的合成静态库的MachO$ file libmp3lame.a
正常情况下应该是这样的1
2
3
4
5libmp3lame.a: Mach-O universal binary with 4 architectures: [arm_v7:current ar archive random library] [arm64]
libmp3lame.a (for architecture armv7): current ar archive random library
libmp3lame.a (for architecture armv7s): current ar archive random library
libmp3lame.a (for architecture x86_64): current ar archive random library
libmp3lame.a (for architecture arm64): current ar archive random library