C# 无法在Webview2上播放受DRM保护的视频流
我创建了使用Webview2 v1.0.818.41的WinUI 3.0项目,并将我的视频流应用程序加载到该项目中,但视频不会播放,并报告多个DRM错误 我还检查了安装在我电脑上的Chromium Edge版本中的应用程序的视频流是否有效,它确实有效。这是我的用户代理字符串,我验证它与我从Webview2获得的用户代理字符串匹配:C# 无法在Webview2上播放受DRM保护的视频流,c#,video-streaming,webview2,C#,Video Streaming,Webview2,我创建了使用Webview2 v1.0.818.41的WinUI 3.0项目,并将我的视频流应用程序加载到该项目中,但视频不会播放,并报告多个DRM错误 我还检查了安装在我电脑上的Chromium Edge版本中的应用程序的视频流是否有效,它确实有效。这是我的用户代理字符串,我验证它与我从Webview2获得的用户代理字符串匹配: Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/90.0.
Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/90.0.4430.212 Safari/537.36 Ege/90.0.818.62
经过一番调查,我发现navigator.requestMediaKeySystemAccess
是在Chromium Edge上定义的,但不是在Webview2的客户端上定义的。因为这是一个UWP应用程序,我怀疑DRM失败的原因有四种可能:
- 我以前知道,在开发者模式下运行在Xbox One上的旧版Edge将DRM内容的播放限制在SL-150及以下。Webview2是否也是如此,但比传统的Edge更具限制性
- 我已经在清单中适当地设置了内容URI,并且没有任何内容与应用程序权限不符
- 如果是真的,这是令人惊讶的,因为EME是W3C规范,并且已经在Chromium Edge中内置了支持
重要的是,我还应该注意到,我见过其他使用Webview2的视频流应用程序。我能判断的唯一方法是错误发生的时间,但我在那些应用程序上看到了错误消息,表明新组件正在使用,所以我知道DRM已经被解决了。我能够确定这个问题的根本原因是第三方工具没有正确处理流。然而,我确实发现了以下几点:
navigator。requestMediaKeySystemAccess
未定义