如何将WebView控件静音(禁用声音)?

时间:2017-05-04 02:53:50

标签: c# webview uwp

我试图找到如何在我的UWP应用程序中静音WebView控件。

该应用程序包含用于显示广告的WebView控件。当用户禁用应用程序声音时,播放任何声音都不好。但有些广告有声,用户不满意。

我已经尝试将ElementSoundPlayer.State设置为ElementSoundPlayerState.Off,但它没有帮助。

提前谢谢。

1 个答案:

答案 0 :(得分:3)

目前,没有用于静音WebView Control的api。对于您的场景,您可以使用InvokeScriptAsync注入可以使声音静音的JavaScript。请参考以下代码。

private async void PassDataBtn_Click(object sender, RoutedEventArgs e)
{
        string mutefunctionString = @"
    var videos = document.querySelectorAll('video'),
    audios = document.querySelectorAll('audio');
    [].forEach.call(videos, function(video) { video.muted = true; });
    [].forEach.call(audios, function(audio) { audio.muted = true; }); ";

    await MyWebView.InvokeScriptAsync("eval", new string[] { mutefunctionString });
}