首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >除非我调试步骤,否则无法听到Direct人声

除非我调试步骤,否则无法听到Direct人声
EN

Stack Overflow用户
提问于 2014-03-08 23:56:57
回答 1查看 90关注 0票数 0

我的问题是,只有当我在调试中碰到断点,然后再继续时,我才能听到声音。如果我不这样做,我就不会听到声音,尽管一切似乎都在播放。例如,在正确的时间触发onComplete回调。

我尝试过在代码中添加Sleep来模拟断点,但是它不起作用。

此错误仅在我使用OpenGL处理图形时才会发生。如果我将GDI+用于图形,那么一切听起来都很好。

DirectSound是我所拥有的唯一的健全实现,所以我没有用其他的声音包进行测试。

我确实找到了一些建议禁用Visual托管进程的信息,但我使用的是C++,它无论如何都不使用Visual托管过程。

任何帮助都将不胜感激,莱斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-15 20:36:56

问题在于DirectSound的SetCooperativeLevel()中使用的HWND。在完成GetForegroundWindow()之后,我就通过glutCreateWindow()获取了HWND。相反,我不得不在下一个滴答中调用GetForegroundWindow(),因为在此之前,实际上还没有创建GetForegroundWindow()窗口,而对GetForegroundWindow()的调用实际上是引用glut中使用的shell窗口。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22276672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档