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

How to enable Media AutoPlay in Microsoft WebView2?

我正在使用 WinForms 应用程序,我在其中创建了一个 WebView2 实例来使用 HTML5 播放媒体内容。我一直在查看文档以找到一些方法,通过它我可以在 WebView2 中启用自动播放,这样我的桌面应用程序就可以在没有用户交互的情况下播放视频。

我尝试过的东西。

谢谢!

经过深入研究,我找到了解决方案,我的团队负责人也找到了解决方案。

我排序的第一个解决方案是在初始化 WebView2 window 后立即执行单击 WebView2 的变通方法,使用此 SO Answer。这可以通过注册到 WebView2.NavigationCompleted 事件来实现。

第二种方案更优雅更合适;虽然需要最后润色,但大家可以根据自己的喜好进行改进。

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

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

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