wav和amr互转
来源:互联网 发布:美国大学统计 知乎 编辑:程序博客网 时间:2024/05/21 10:00
苹果录音的格式为wav, 该格式文件体积较大(10秒100k左右), 为了缩小体积同时兼顾安卓, 可以将其转换成amr格式(能将100k缩小至10k左右, 安卓能播放amr格式, 苹果于ios4.3以后便不支持amr)
本文通过opencore-arm(下载最新库文件)将wav转换为amr
opencore-amr下载后
1.首先新建一个文件夹,将下载到的opencore-amr-0.1.5.tar.gz压缩包放到里面,然后进入这个文件夹,在里面创建build.sh文件(xcode中创建也可以),将以下脚本粘贴到文件里面
复制这段脚本时注意每行代码的后面不要有空格, 该段代码摘自大神大招致胜的博客, 由于第二个configure中没有 --host=arm-apple-darwin \ 导致编译不成功(本文已加)
#!/bin/sh set -xe VERSION="0.1.5" SDKVERSION="10.3" LIBSRCNAME="opencore-amr" CURRENTPATH=`pwd` mkdir -p "${CURRENTPATH}/src" tar zxvf ${LIBSRCNAME}-${VERSION}.tar.gz -C "${CURRENTPATH}/src" cd "${CURRENTPATH}/src/${LIBSRCNAME}-${VERSION}" DEVELOPER=`xcode-select -print-path` DEST="${CURRENTPATH}/lib-ios" mkdir -p "${DEST}" ARCHS="armv7 armv7s arm64 i386 x86_64" # ARCHS="armv7" LIBS="libopencore-amrnb.a libopencore-amrwb.a" DEVELOPER=`xcode-select -print-path` for arch in $ARCHS; do case $arch in arm*) IOSV="-miphoneos-version-min=7.0" if [ $arch == "arm64" ] then IOSV="-miphoneos-version-min=7.0" fi echo "Building for iOS $arch ****************" SDKROOT="$(xcrun --sdk iphoneos --show-sdk-path)" CC="$(xcrun --sdk iphoneos -f clang)" CXX="$(xcrun --sdk iphoneos -f clang++)" CPP="$(xcrun -sdk iphonesimulator -f clang++)" CFLAGS="-isysroot $SDKROOT -arch $arch $IOSV -isystem $SDKROOT/usr/include -fembed-bitcode" CXXFLAGS=$CFLAGS CPPFLAGS=$CFLAGS export CC CXX CFLAGS CXXFLAGS CPPFLAGS ./configure \ --host=arm-apple-darwin \--prefix=$DEST \ --disable-shared --enable-static ;; *) IOSV="-mios-simulator-version-min=7.0" echo "Building for iOS $arch*****************" SDKROOT=`xcodebuild -version -sdk iphonesimulator Path` CC="$(xcrun -sdk iphoneos -f clang)" CXX="$(xcrun -sdk iphonesimulator -f clang++)" CPP="$(xcrun -sdk iphonesimulator -f clang++)" CFLAGS="-isysroot $SDKROOT -arch $arch $IOSV -isystem $SDKROOT/usr/include -fembed-bitcode" CXXFLAGS=$CFLAGS CPPFLAGS=$CFLAGS export CC CXX CFLAGS CXXFLAGS CPPFLAGS ./configure \ --host=arm-apple-darwin \ --prefix=$DEST \ --disable-shared ;; esac make > /dev/null make install make clean for i in $LIBS; do mv $DEST/lib/$i $DEST/lib/$i.$arch done done for i in $LIBS; do input="" for arch in $ARCHS; do input="$input $DEST/lib/$i.$arch" done lipo -create -output $DEST/lib/$i $input done
2.修改build.sh的权限,打开终端,cd到新建的文件夹,使用命令 chmod 777 build.sh 修改权限.
3.修改完成之后在终端执行 ./build.sh 完成后如图
头文件
.a库(使用libopencore-amrnb.a, libopencore-amrwb.a)
demo(包括.sh文件, 已编译好的库, 转换代码)
参考博客:
https://my.oschina.net/jeans/blog/69937
http://blog.csdn.net/devday/article/details/49357289
http://www.jianshu.com/p/f70a371c978d
阅读全文
1 0
- wav和amr互转
- 2013资料整理-IOS音频格式AMR和WAV互转
- IOS音频格式之AMR和WAV互转(更新支持64位)
- iOS音频格式之AMR和WAV互转(更新支持64位)
- AAC AMR WAV MP3
- Android录音、WAV、AMR
- iOS 音频格式WAV和AMR格式转换技术
- Android多媒体之 wav和amr的互转
- iOS录音转码:amr转wav,wav转amr
- AAC AMR WAV MP3 采样率
- iphone开发 服务器、android、iphone音频文件播放和传输 amr和wav的转换
- 即时通讯收发语音,兼容安卓wav和amr格式互转
- iOS 语音wav转amr amr转war三方库
- AMR 编码 PCM & WAV (opencore-amr-0.1.5)
- wav转amr以及简单调整音量
- FFMPEG 音频转换命令 wav转amr
- ios语音通讯解决方案 wav转amr
- FFMPEG 音频转换命令 wav转amr
- Unity 烘焙贴图后再拖成预设体后场景光照信息丢失
- 程序员何去何从
- hibernate 多对多数据表配置
- java 设计模式之单例模式
- scrapy框架爬取知乎110w用户信息,并存入mysql数据库和mongoDB数据库
- wav和amr互转
- asp下sha1加密函数
- hdu1695 莫比乌斯反演
- J2EE系列之Hibernate4学习笔记(十一)--Hibernate继承关系映射(根类对应一个表)
- Redux学习
- ThinkPHP5.0-数据库
- (转)非对称加密,我终于理解了!
- SIGPIPE信号
- T_REP_REQ