1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > iOS边录边播放 实现试听

iOS边录边播放 实现试听

时间:2022-03-12 00:04:57

相关推荐

iOS边录边播放 实现试听

需求背景:

实现一个边录制边播放的功能、可以暂停录制试听、同时需要实时显示音波图

以下是采坑之路

方法一:AVAudioRecorder录音wav格式

面临问题:暂停的时候,没有生成真正的音频文件,因此不能试听

思路:暂停就是结束,然后把一段段音频拼接在一起,两段wav音频用音轨的方式合并是没有停顿的

结果:由于wav是由头文件和音频文件组成,合并到一起的wav 通过lame转mp3只有沙沙沙的噪音。此方法失败!!!

方法二:wav转MP3

思路:先把每一段wav转mp3,然后拼接mp3

结果:mp3的拼接方式是用nsdata,这里又出现一个问题,wav转mp3包含了头文件,mp3合并后中间会有很明显的停顿。此方法失败!!!

方法三:换录音api

思路:使用AVAudioQueue,边录制边转码

结果:该api没有实时获取音量的方法,因此无法绘制录音音波图,满足不了产品需求。此方法失败!!!

方法四:使用pcm(一种未经过任何编码压缩的数字信号)

思路:直接录制原编码数据

思路:pcm和wav的头文件都是44字节,然后尝试着截取掉头文件,然后在转码mp3拼接文件

结果:和方法二一样,此方法失败!!!

方法五:AVAudioRecorder,caf编码格式

思路:录制caf同时开辟子线程转码mp3

结果:哈哈哈!成功了!!!原来录制的caf音频格式,在暂停的时候也会生成音频文件,因此省去了拼接的步骤。

结论:使用AVAudioRecorder,caf编码格式即可实现边录边播!!

特别鸣谢:雷总

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。