winforms 如何在Microsoft WebView2中启用媒体自动播放?

j1dl9f46  于 2022-12-19  发布在  其他
关注(0)|答案(2)|浏览(637)

我正在使用WinForms应用程序,并在其中创建了一个WebView2示例来使用HTML5播放媒体内容。我一直在查阅文档,以找到某种方法来启用WebView2中的自动播放,以便我的桌面应用程序在没有用户交互的情况下播放视频。
"我尝试过的事"

  • 我在此Documentation之后更改了注册表,但没有成功
  • 我还从Microsoft Edge内部启用了自动播放,但没有任何效果。

谢谢大家!

46scxncf

46scxncf1#

经过彻底的研究,我找到了解决方案,我的团队领导也找到了解决方案。
我整理的第一个解决方案是一个变通方案,在初始化WebView 2后立即使用SO Answer执行单击WebView 2窗口。这可以通过注册到WebView2.NavigationCompleted事件来实现。
第二种解决方案更优雅、更恰当;虽然还需要最后的润色,但任何人都可以根据自己的喜好加以改进。

var options = new CoreWebView2EnvironmentOptions("--autoplay-policy=no-user-gesture-required");
var path = @"C:\Program Files (x86)\Microsoft\EdgeWebView\Application\92.0.902.67";
var environment = await CoreWebView2Environment.CreateAsync(path, null, options);

var webView = new WebView2();
await webView.EnsureCoreWebView2Async(environment);

请注意,变量**“path”**包含WebView 2运行时可执行文件所在的目录。Microsoft发布新版本时,该路径将更改。您还可以下载WebView 2固定运行时,并将其包含在项目依赖项中。

z8dt9xmd

z8dt9xmd2#

可能是这样的。它帮了我

public MainWindow()
    {
        Environment.SetEnvironmentVariable("WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS", "--autoplay-policy=no-user-gesture-required");
        InitializeComponent();
    }

相关问题