首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

?DirectSound主缓冲默许22khz,辅助缓冲如果是11khz 是否冲突

2013-01-07 
?DirectSound主缓冲默认22khz,辅助缓冲如果是11khz 是否冲突例如,uchar buffer[11000]中保存着单声道,8位、

?DirectSound主缓冲默认22khz,辅助缓冲如果是11khz 是否冲突
例如,uchar buffer[11000]中保存着单声道,8位、11khz采样的音频数据,时长=数组长度/11k=1秒。
创建辅助缓冲lpdsbuffer,其缓存大小与数组buffer一致,将数组的数据复制到辅助缓存中,并使用
lpdsbuffer->Play(0,0,0)进行单次播放。
由于主缓冲采用的是默认的22khz、8位、双声道。此时Play的后果是什么?
1.播放时长只有0.5秒(由于主缓冲采样频率高一倍)?或者0.25秒(继续考虑到单声道和双声道的冲突)
2.buffer数组中的数据假如是100hz的正弦波,播放的时候变成200hz的效果?

 

[解决办法]
不知道这个复制有没有格式检查,如果没有格式转换仅是内存copy
1. 0.25秒,8位单声道1字节/帧,8位立体声2字节/帧,加上采样率高一倍,换算出时间是1/4
2. 对。

热点排行