社区
多媒体/流媒体开发
帖子详情
DirectSound播放的杂音问题!
lujunweixu
2009-08-22 11:24:10
大家好! 欢迎大家提出自己的看法!
我现在的问题是:
我用DirectSound 来播放视频会议系统中的音频时时不时出现杂音
,为了提高实时性,我只创建了包含两个长度的解码数据的Stream Buffer(例如AAC解码出来的长度是8192,则Stream Buffer的长度设为8192 * 2),并且在Buffer的中间和结尾设置两个通知点,Primary Buffer的参数设置正确!
...全文
433
6
打赏
收藏
DirectSound播放的杂音问题!
大家好! 欢迎大家提出自己的看法! 我现在的问题是:我用DirectSound 来播放视频会议系统中的音频时时不时出现杂音,为了提高实时性,我只创建了包含两个长度的解码数据的Stream Buffer(例如AAC解码出来的长度是8192,则Stream Buffer的长度设为8192 * 2),并且在Buffer的中间和结尾设置两个通知点,Primary Buffer的参数设置正确!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Roger_long
2010-02-11
打赏
举报
回复
我也遇到此问题,有点思路,可相互交流:MSN:lxp8@sina.com
浮云
2009-09-28
打赏
举报
回复
应该是缓冲区设的过小了,aac解码一帧1024个sample,假设采样率44100,两个sample相当于0.046秒,太短了
UDX协议
2009-09-23
打赏
举报
回复
应该不是这个问题。
首先,你在本地,边压边解,都在本地完成。
比如录文件。。
出现杂音只可能在开始一小段。如果一直出现就得查看你的代码问题了。
lujunweixu
2009-08-23
打赏
举报
回复
谢谢楼上两位大哥的回答!
我觉得有可能是填充速度的问题。我现在的做法的只要有数据来就解码,解码完成后马上调用填充Stream Buffer的函数,在进入这个函数后会等待通知事件,如果有则填充,如果没有则等待,不解码,也不填充Stream Buffer。
不过我发现,即使我一直不填充数据的话,通知事件还是一直都回来,就是说只要你设置好Stream Buffer并且设置好通知点,则Stream Buffer的Play Cursour和Writer Cursor就会以设定的播放速度一直改变,我会一直通过GetCurrentPosition()来得到这两个参数的位置值。
所以有可能是解码的速度赶不上播放的速度。大家有没有什么好的办法在保证一定的实时性下,解决这个杂音问题。 或者说大家一般用什么方法解决实时性问题!
ArcRain
2009-08-23
打赏
举报
回复
同意楼上的观点,可能解码的速度比较快,导致无新数据可解码引起了杂音。
SoftSoftSoft2008
2009-08-22
打赏
举报
回复
播放有杂音如果数据没有丢失,往往是播放的缓冲里面没有数据,
音频数据没有及时到达,以供播放。
带回声消除功能的
Di
rect
Sound
音频采集
采用
di
rect
sound
的
Di
rect
Sound
FullDuplexCreate8创建全双工音频采集,启用AEC效果,让采集出的声音没有回声,即音频通话中的回声消除效果,全双工音频的启用在windowsXP下可用,若系统有声音输出,aec将会失败,启用aec后,系统声音才变为16KHz,1Channel输出。运行测试程序时选择好输入和输出设备,然后点击record,再在电脑中
播放
一个音乐。录制出来的声音将只有麦克风声音,而
播放
的音乐声被消除了。 该资源仅在windows xp上可用,vista及以上版本
di
rect
sound
不再支持该特性。vista及以上系统请移步至windows core au
di
o方式的,启用AEC回声消除效果的音频采集参考代码:http://download.csdn.net/detail/xuwei17385/6426783。
声卡常见的7大故障.docx
声卡常见的7大故障.docx
C#Nau
di
o .Net音频处理类库
C# 开发的 Nau
di
o .Net音频处理类库 内有源码提供学习使用
python-fluidsynth:Python 3 YFC 绑定到 Fluidsynth
流体合成器 Python 3 兼容的 CFFI 绑定到具有人类 API 的 Fluidsynth ... 最终。 现在它只是
播放
音符。
Di
rect
Sound
播放
声音
杂音
问题
.
用
Di
rect
Sound
写的
播放
实时语音的时候全是
杂音
,使用SDK自己带的例子FullDuplexFilter.exe也是这样,所以程序应该是没有
问题
的.最初我以为是安装了某个软件影响到了
Di
rect
Sound
.于是把能卸的都卸了,
问题
依然存在.最后在音量控制里找到原因了.原来
Di
rect
Sound
播放
实时语音的时候不能开启立体声混音功能.只要把这个选项勾上就可以了.
多媒体/流媒体开发
2,553
社区成员
20,277
社区内容
发帖
与我相关
我的任务
多媒体/流媒体开发
专题开发/技术/项目 多媒体/流媒体开发
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章