opencore框架可用于语音编码与解码,实现android和ios语音互通,能实现类似微信语音对讲功能。andoird端可录音amr格式文件,amr格式语音文件的优势是文件大小比wav等其他音频格式文件小很多方便网络传输与存储,语音清晰度对于对讲来说也能接受。
实现思路
手机端录音->上传音频文件到服务器端->手机端下载音频文件播放;具体实现代码不在此处讨论仅说明思路。
-
iphone端
iphone录音不能直接录音为amr格式音频,需要先录音为wav格式,然后通过opencore框架将wav格式的音频文件格式转化为amr格式音频文件上传到服务器端。
iphone播放在线音频文件的时候也不能章节播放amr格式需要将amr格式文件通过opencore框架转化为wav格式播放。
-
android端
android端录音直接即可设置音频文件格式为amr,在线播放的时候也可直接播放。
注意
部分android手机录音amr的时候可能不是标准的amr文件头部,iphone在转换的时候可能会出现转换出来的wav文件无法播放,所以需要处理一下。
附ios利用opencore转换amr格式音频源码 (已修改处理amr文件头部问题)
核心包下载:voicerecorder 地址 http://www.star-lai.cn/wp-content/uploads/2014/02/voicerecorder.zip
使用demo:player 地址 http://www.star-lai.cn/wp-content/uploads/2014/02/player.zip