加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-7 – 在Windows Vista和更高版本中播放音频或视频时导致

发布时间:2020-12-14 01:37:09 所属栏目:Windows 来源:网络整理
导读:所讨论的软件是一个本机C / MFC应用程序,它通过UDP接收大量数据,然后处理数据以进行显示,声音输出和写入磁盘等.当应用程序的CHM帮助文档从其帮助菜单启动时,我第一次遇到问题,然后在从硬件收集数据时单击帮助文档.为了复制它,使用AutoHotkey脚本在应用程序运
所讨论的软件是一个本机C / MFC应用程序,它通过UDP接收大量数据,然后处理数据以进行显示,声音输出和写入磁盘等.当应用程序的CHM帮助文档从其帮助菜单启动时,我第一次遇到问题,然后在从硬件收集数据时单击帮助文档.为了复制它,使用AutoHotkey脚本在应用程序运行时快速单击帮助文档.一旦系统发生任何声音,我就开始收到错误.

如果我完全禁用声卡,一切都处理正常,没有错误,但声音输出明显禁用.但是,如果我有声音播放(在这个应用程序中,一个不同的应用程序,甚至只是消息框中的蜂鸣声)我得到数千个丢弃的数据包(我们知道这是因为每个数据包都有时间戳).作为第二个测试,我根本没有使用我的应用程序,只是使用Wireshark来监视来自硬件的传入数据包.果然,无论何时在Windows中播放声音,我们都丢弃了数据包.实际上,声音甚至不必主动播放以引起错误.如果我只是创建一个缓冲区(使用DirectSound8)并且从不开始播放,我仍然会遇到这些错误.

这种情况发生在具有多种网卡组合(光纤和RJ45)和声卡(集成卡和单独卡)的多台PC上.我还为每个NIC和声卡尝试了不同的驱动程序版本.所有测试都在Windows 7 32位上进行.由于我的应用程序使用DirectSound进行音频,我尝试了不同的CooperativeLevels(正常操作是DSSCL_PRIORITY),但没有成功.

在这一点上,我非常确信它与我的应用程序无关,并且想知道在我开始与硬件供应商和/或微软打交道之前是否有人知道是什么原因导致了这个问题.

解决方法

众所周知,微软在Windows Vista内核中构建了一些奇怪的反功能,这会预防性地降低I / O性能,以确保多媒体应用程序(windows media player,directX)获得100%的响应能力.我不知道这是否也意味着UDP丢包.阅读该方法的这种蹩脚的理由: http://blogs.technet.com/b/markrussinovich/archive/2007/08/27/1833290.aspx

其中一条评论很好地总结了这一点:“对我而言,微软试图’修复’未被破坏的东西.”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读