社区
多媒体/流媒体开发
帖子详情
DirectSound播放的杂音问题!
lujunweixu
2009-08-22 11:24:10
大家好! 欢迎大家提出自己的看法!
我现在的问题是:
我用DirectSound 来播放视频会议系统中的音频时时不时出现杂音
,为了提高实时性,我只创建了包含两个长度的解码数据的Stream Buffer(例如AAC解码出来的长度是8192,则Stream Buffer的长度设为8192 * 2),并且在Buffer的中间和结尾设置两个通知点,Primary Buffer的参数设置正确!
...全文
401
6
打赏
收藏
DirectSound播放的杂音问题!
大家好! 欢迎大家提出自己的看法! 我现在的问题是:我用DirectSound 来播放视频会议系统中的音频时时不时出现杂音,为了提高实时性,我只创建了包含两个长度的解码数据的Stream Buffer(例如AAC解码出来的长度是8192,则Stream Buffer的长度设为8192 * 2),并且在Buffer的中间和结尾设置两个通知点,Primary Buffer的参数设置正确!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
写的
播放
实时语音的时候全是
杂音
,使用SDK自己带的例子FullDuplexFilter.exe也是这样,所以程序应该是没有
问题
的.最初我以为是安装了某个软件影响到了
Di
rect
Sound
.于是把能卸的都卸了,
问题
依然存在.最后...
Di
rect
Sound
播放
PCM有
杂音
的解决方法
问题
场景描述:使用
Di
rect
Sound
播放
PCM,先点击暂停按钮再点击
播放
按钮后,大概率会有
杂音
出现
播放
音频单独放在一个线程中处理,程序基于MFC架构,有
播放
和暂停按钮。如下所示代码为音频
播放
线程,开始使用static ...
FAAD2解码AAC得到PCM数据帧采用Microsoft.
Di
rect
X.
Di
rect
Sound
播放
时有嘟嘟声、噪音的
问题
Di
rect
X(
Di
rect
eXtension,简称DX)是由微软公司创建的多媒体编程接口,是一种应用程序接口(API)
问题
描述: 1.PC端产测软件,通过P2P接收到设备发送过来的音频数据帧(AAC,16KHZ,16bit位宽、单通道),使用...
Di
rect
Sound
与Waveout的区别
Q
Di
rect
sound
与 Waveout 有何不同? A Waveout 是在32位的Windows上的一种老旧且过时,用来
播放
数字音讯的应用程序接 口(Application Programming Interface,简称API)。旧的Windows操作系统(如Win9x WinNT4)...
Di
rect
sound
和Waveout
Q
Di
rect
sound
与 Waveout 有何不同? A Waveout 是在32位的Windows上的一种老旧且过时,用来
播放
数字音讯的应用程序接 口(Application Programming Interface,简称API)。旧的Windows操作系统(如Win9x WinNT4...
多媒体/流媒体开发
2,543
社区成员
20,281
社区内容
发帖
与我相关
我的任务
多媒体/流媒体开发
专题开发/技术/项目 多媒体/流媒体开发
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章