在 WPF 中集成 Vimeo 的视频

Integration of Vimeo's video in WPF

我们在 Vimeo 上有一个帐户,我们可以在其中为特定观众显示一些视频。它们是私有的,我们自定义 ui 的播放器以禁用共享选项。观众唯一能做的就是播放视频。

此外,我们只定义了一个可以集成视频的特定域。所以我们在这个域上有一些网页,我们在其中集成了视频。

在 Firefox、Chrome 或 Edge 等网络浏览器中,如果我们访问托管在该域上的网页,则显示和播放都没有问题。但是如果我们使用 WPF webbrowser,网页可以显示视频,但是 Vimeo 的播放器显示一条消息,我们可以阅读视频,因为我们定义的隐私设置。

为什么在 Firefox 或其他浏览器中,我没有任何问题或消息来播放我域中网页的视频(我们想要的),而在 WPF 网络浏览器中,Vimeo 的播放器没有允许我在我域中的同一网页上播放视频吗?

感谢您的帮助。

WPF WebBrowser 控件使用嵌入在其 window 中的 Internet Explorer ActiveX 控件。因此,它具有与已安装版本的 Internet Explorer 相同的限制。默认情况下,它将使用 IE 7 兼容性,因此更现代的 JavaScript 可能无法正常工作。

您可以通过在 HTML 中使用固定的 DOCTYPE 来强制控件使用更现代的渲染引擎(但显然,您无法控制 Vimeo 的 HTML)或通过设置注册表项在机器上启动您的可执行文件,如 Microsoft 文章所述:Browser Emulation

您需要为您的 .exe 名称添加一个条目。例如,如果您的应用程序是 myviewer.exe,那么要获得 IE 11 渲染将是这样的。

HKEY_CURRENT_USER
   SOFTWARE
      Microsoft
         Internet Explorer
            Main
               FeatureControl
                  FEATURE_BROWSER_EMULATION
                     myviewer.exe = (DWORD) 00011000