5

我正在尝试让一个在 XP 上运行良好的应用程序在 Windows 7 上正常运行(这不是我写的——我正在帮助一个朋友。)

它能够在 XP 上播放音频,但不能在 Windows 7 上播放 - 没有声音。已用尽搜索和检查 Windows 7 中有关音频的所有设置(已花费数小时搜索和阅读。)

在应用程序运行时,Windows 7 音量混合器中没有任何条目。

通过使用其他一些应用程序,我发现似乎只有一个应用程序在实际创建声音之前才添加到混音器中,但我发现至少有一个程序在程序启动时和之前添加到混音器中它播放了任何声音。

是否有一个 API 允许应用程序在 Windows 7 音量混合器中“注册”自身,以便它的条目出现在混合器中,即使它还没有产生任何声音?

4

2 回答 2

3

创建音频会话时,应用程序滑块会添加到混音器。有两件事会导致创建音频会话:首先,当应用程序创建的音频流转换到“开始”状态时。另一种情况是应用程序使用 IAudioSessionControl 接口操作音频音量。

于 2011-01-24T20:59:23.893 回答
3

根据这篇博文,音频子系统跟踪播放音频的 PID,并且音量混合器能够访问此列表。可以使用IAudioSessionControl更改 SndVol 中显示的名称,因此仅此一项就足以使其“注册”

于 2011-01-23T14:32:49.200 回答