最近做的项目有需要录音上传的功能,记录下踩得坑。
ios的录音格式默认的为wav。但是这个格式安卓无法读取,最开始是转成了MP3。测试没什么问题,但是老板说mp3的数据占用比较大,常规的用法是amr。测试了下,确实amr文件只有MP3的十分之一左右。
格式转换用的是VoiceConvert,网上有很多。如有需要自己找下。我只记录下安卓和ios互通的坑。
录音录完之后上传转成amr。然后下载下来还要转成wav,因为ios真机不支持amr格式播放。ios测试都正常,可以正常上传下载播放。但是安卓的录音上传成功之后,ios下载之后无法播放,一直格式转换失败。网上找了很多,发现是录制录音时,安卓的格式设置不对,正确的设置应该如下图(图是网上拷的,侵删):
而这面安卓把setAudioEncoder和setOutputFormat设置成ACC。之前约定的是amr格式转,所以他设置成ACC就无法转换格式。只能设置成AMR_NB。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。