最近我们在调试EasyRTC双向通话时(海思设备与浏览器),发现很多对接的开发者不知道怎么用海思SDK去播放浏览器传过来的音频数据;
EasyRTC在浏览器端采样的音频参数为:8000采样,编码格式G711A,采样精度16bits,每帧的音频数据是160个字节,参考海思MPP文档里面提示:
【现象】
MPP不能直接播放标准的音频G711/G726/ADPCM码流。
【分析】
MPP为了兼容上一代芯片,要求在音频裸码流每帧数据前添加语音帧头才能播放。
【解决】
MPP播放标准的音频G711/G726/ADPCM码流时,需要先获取RAW流数据,再根据每帧数据长度per_sample_len添加语音帧头才能播放。
于是,根据文档的提示,我把对应成功的代码贴上:
EasyRTC支持海思设备与浏览器间的双向通话: