使用IAudioSessionControl2时出现问题,以使WebBrowser控件静音

时间:2013-04-22 05:20:19

标签: c# browser core-audio mute

目标是将可能播放Flash视频的WebBrowser控件静音。所以我发现这个代码非常有用:https://stackoverflow.com/a/14322736/990618

问题是当你期望来自GetDisplayName的某种id时,某些枚举是空的,我会得到3-4个空白,2个就像“Mozilla Firefox”和{{1}一样这是系统声音。

所以继续尝试GetProcessId,GetSessionIdentifier和GetSessionInstanceIdentifier。

"@%SystemRoot%\System32\AudioSrv.Dll,-202"只返回0和1,GetProcessId结果与GetSessionIdentifier相同,GetDisplayName所有空白。

为什么这些空白和零呢?

以下是修改后的GetSessionInstanceIdentifier

EnumerateApplications

1 个答案:

答案 0 :(得分:2)

正确声明CoreAudio接口会产生重大影响...

我使用了你的代码,但使用了CoreAudioNET库中的interfaces声明,一切都按预期工作: output

由于代码相当广泛,我不会在此处粘贴,而是可以从以下链接下载:Source Code