何时/如何将应用程序添加到 Windows 7 音量混合器窗口?
我正在尝试让一个在 XP 上运行良好的应用程序在 Windows 7 上正常运行(这不是我写的 - 我正在帮助朋友。)
它能够在 XP 上播放音频,但不能在 Windows 7 上播放 - 没有被听到。已用尽搜索和检查 Windows 7 中有关音频的所有设置(已花费大量时间搜索和阅读)。
在运行时,Windows 7 音量混合器中任何时候都没有该应用程序的条目。
通过使用其他一些应用程序,我发现应用程序似乎在实际创建声音之前不会添加到混音器,但我发现至少有一个程序在程序启动时和之前添加到混音器它已播放过任何声音。
是否有一个 API 允许应用程序向 Windows 7 音量混合器“注册”自身,以便它的条目出现在混合器中,即使它尚未产生任何声音?
I'm trying to get an application which ran okay on XP to run properly on Windows 7 (this is not something I wrote - I'm helping a friend.)
It was able to play audio on XP but cannot on Windows 7 - nothing is heard. Have exhausted a search and check of all settings in Windows 7 as regards audio (have spent many hours searching and reading.)
There is no entry in the Windows 7 Volume Mixer for the application at any time while it is running.
By playing with some other applications I've found that it seems that an application is not added to the Mixer until it actually creates a sound but I've found at least one program which is added to the Mixer right when the program starts and before it has played any sounds.
Is there an API which allows an application to "register" itself with the Windows 7 Volume Mixer so that an entry for it appears in the Mixer even though it has not yet produced any sounds?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据 这篇博文,音频子系统跟踪播放音频的 PID,并且音量混合器能够访问此列表。可以使用 IAudioSessionControl 更改 SndVol 中显示的名称,所以也许仅此一点就足以使其被“注册”
According to this blog post, the audio subsystem keeps track of PIDs that play audio and the volume mixer is able to access this list. It is possible to change the name displayed in SndVol with IAudioSessionControl, so maybe that alone is enough for it to be "registered"
创建音频会话时,应用程序滑块会添加到混音器中。有两件事可能会导致创建音频会话:首先,当应用程序创建的音频流转换到“开始”状态时。另一种情况是应用程序使用 IAudioSessionControl 接口操作音频音量。
An app slider is added to the mixer when an audio session is created. There are two things that can cause an audio session to be created: First off, when an audio stream created by the app transitions to the "start" state. The other case is when an application manipulates the audio volume using the IAudioSessionControl interface.