代码改变世界

监控系统播放音频断断续续的原因

2013-06-06 01:06  鉴于  阅读(1266)  评论(0编辑  收藏  举报

将音频帧送交海思解码器,将解码后的音频数据提交windows播放,但是效果总是断断续续的,声音时有时无。视频和音频通过和IPC一条TCP连接传输,音频数据和视频数据是分开的。尝试过对收发帧数据线程进行优化,仍然无效。
准备采用最后的办法,视音频同步。结果事情有转机,海思解码器回调返回的是short类型指针, 长度为len,len个short字节。在调用waveOutWrite播放声音时,填充数据使用的是Byte类型数组,长度为len,而short为2个字节,这样播放声音时,只有一半数据被播放了。不是太明白海思为什么用short指针,一半表示buffer都用byte*。将 数据长度改为sizeof(short) * len再送交waveOutWrite,就OK了。