深圳新瑞彩网络科技有限公司

WindowsSdk: set_audio_buffer 接口

int _stdcall set_audio_buffer(int camera, unsigned int buffer_ms);
camera:[in],camera 句柄,由 new_camera 函数返回
buffer_ms:[in],音频播放的缓冲区大小,单位:毫秒
如果操作成功,返回 ERROR_OK,否则参考错误常量定义。
设置指定 camera 的音频播放的缓冲区大小。
    因为音频播放时对流畅性要求很高,在播放过程中一旦缺少数据就导致杂音的出现。
而受到网络条件的限制,camera 发送音频到客户端时,并不能保证数据的完全实时性,
在例如互联网传输的情况下,可能会出现时快时慢的情况,这样都会对音频的播放造成困挠。
为解决这样的问题,我们必须在客户端建立一个播放的缓冲区,当收到音频数据时,
不是直接播放音频,而是先保存到缓冲区中,等缓冲一段时间后再播放音频。
这样可以最大程度减少网络传输的影响,网络条件越差,应设置缓冲区的时间越长,
当然相应的会导致播放延时越长。这个就需要用户来权衡,一般来说局域网内,
可设到 50-1000 ms 以内,互联网就要依情况而定了。
    如果在播放音频的同时,也在播放视频,为了保持音视频的同步,
视频也会按照音频缓冲区的时间设定同样进行缓冲处理。但如果只是播放视频,
rc_ipcam 库则不会进行缓冲处理。
来源地址:http://wiki.reecam.cn/WindowsSdk/InterfaceSetAudioBuffer
本页面最后修订于:2013-04-10 17:36