Delphi 是否将来自WebBrowser组件的所有声音静音?

Delphi 是否将来自WebBrowser组件的所有声音静音?,delphi,winapi,delphi-xe,Delphi,Winapi,Delphi Xe,我该怎么做呢?我基本上想让我的WebBrowser组件中的所有声音(视频、音乐)静音。有办法吗?我只想让它从程序的webbrowser组件中静音,而不是我的计算机音量。如果您使用默认的TwebbBrowser,我很抱歉,如果不让整个应用程序的声音静音,您将无法做到这一点。我怀疑无法完成的原因: TWebBrowser组件实际上只是通过COM对象访问的Microsoft Internet Explorer接口的包装器。现在可以通过设置禁用Internet Explorer中的某些声音,但我不知道T

我该怎么做呢?我基本上想让我的WebBrowser组件中的所有声音(视频、音乐)静音。有办法吗?我只想让它从程序的webbrowser组件中静音,而不是我的计算机音量。

如果您使用默认的TwebbBrowser,我很抱歉,如果不让整个应用程序的声音静音,您将无法做到这一点。我怀疑无法完成的原因:

  • TWebBrowser组件实际上只是通过COM对象访问的Microsoft Internet Explorer接口的包装器。现在可以通过设置禁用Internet Explorer中的某些声音,但我不知道TWebBrowser是否允许您为特定实例更改这些设置

  • 网页上的某些声音(音乐、视频)甚至可能不是由浏览器本身播放的,而是由某些插件(如Flash Player、Shockwave Player等)播放的。在大多数情况下,即使您将Internet Explorer设置更改为不播放任何媒体文件,这些声音也不会静音

  • 不管怎样,我担心在不更改windows声音设置的情况下,您将很难实现这一点


    现在,如果您的目标是Windows Vista和更新版本,您可能能够通过创建用于呈现WebBrowser的应用程序的新界面(类似于Internet Explorer对每个选项卡所做的操作),强制部分禁用应用程序。通过这种方式,您可以使用系统混音器分别更改每个应用程序界面的声音设置。

    要禁用
    TWebBrowser
    控件中的背景声音播放,您可以在查询
    DISPID\u AMBIENT\u DLCONTROL
    属性时从返回值中省略
    DLCTL\u BGSOUNDS
    标志(例如)。但正如你所说,这并不能使插件播放的声音静音。有关中该标志的更多信息。您不能为您的进程静音吗?