这几天的大部分时间也在研究这个. 为了达到与Android实现音频互通.主要目的也还是减小Caf的音频体积,转换为Mp3以后体积缩小接近10倍.
至于能够转换成Amr 是最好,唉,技术有限,先用Mp3顶着了.
这里主要用到lame,一款非常棒的Mp3音频编码器.
当然,还要感谢提供XCode下编译通过的lame源.以下开始介绍下详细使用方法.
提供lame源下载地址,也算是感谢下这位哥了:
http://d.download.csdn.net/download/mqiezi/3796937
附件会上传我的Demo,噢,真机才能调试.这确实没办法.
lame的核心文件就两个,使用很简单.
1:lame库加入组件库中.
2:引入头文件 lame.h
#include"lame.h"
接下来和核心的转换代码:
这个真机才能调试噢!. command+B . 依旧编译通过!
以下是本次的Demo,欢迎下载尝试.
http://download.csdn.net/detail/ysy441088327/4174609
下面是解决 0.1s爆音问题(摘自cocoachina):
貌似这个LAME 转换需要PCM的数据,而CAF是带有头信息的,所以转码后前0.1秒有爆音.
习惯性用法
fseek(pcm, 4*1024, SEEK_CUR);
read = fread(pcm_buffer, 2*sizeof(short int), PCM_SIZE, pcm);
我也就不去研究头有多少了,直接就跳过算了,至少没爆音
这几天的大部分时间也在研究这个. 为了达到与Android实现音频互通.主要目的也还是减小Caf的音频体积,转换为Mp3以后体积缩小接近10倍.
至于能够转换成Amr 是最好,唉,技术有限,先用Mp3顶着了.
这里主要用到lame,一款非常棒的Mp3音频编码器.
当然,还要感谢提供XCode下编译通过的lame源.以下开始介绍下详细使用方法.
提供lame源下载地址,也算是感谢下这位哥了:
http://d.download.csdn.net/download/mqiezi/3796937
附件会上传我的Demo,噢,真机才能调试.这确实没办法.
lame的核心文件就两个,使用很简单.
1:lame库加入组件库中.
2:引入头文件 lame.h
#include"lame.h"
接下来和核心的转换代码:
这个真机才能调试噢!. command+B . 依旧编译通过!
以下是本次的Demo,欢迎下载尝试.
http://download.csdn.net/detail/ysy441088327/4174609
下面是解决 0.1s爆音问题(摘自cocoachina):
貌似这个LAME 转换需要PCM的数据,而CAF是带有头信息的,所以转码后前0.1秒有爆音.
习惯性用法
fseek(pcm, 4*1024, SEEK_CUR);
read = fread(pcm_buffer, 2*sizeof(short int), PCM_SIZE, pcm);
我也就不去研究头有多少了,直接就跳过算了,至少没爆音