【问题标题】:Embedding Youtube videos in WPF application在 WPF 应用程序中嵌入 Youtube 视频
【发布时间】:2023-03-11 12:48:01
【问题描述】:

我正在尝试直接从我的简单 WPF 应用程序播放 Youtube 视频。

我研究了几种方法来做到这一点:

  1. 使用 WebBrowser 控件 在这种情况下,您似乎只需将 Youtube 视频 URL 应用到 WebBrowser 源字段,并对 URL 本身进行一些更改,例如:

    原始网址 = https://www.youtube.com/watch?v=xxxxxxx
    更改后的网址 = https://www.youtube.com/v/xxxxxxx

  2. 另一种方法只是建议使用 ShockWave Flash 对象,它基本上应该具有几乎相同的结果(下面的视频教程)

https://www.youtube.com/watch?v=714w3HQDTcA

我已经尝试了这两种情况,并且似乎解决方案很旧,因为我收到以下错误:

所以问题是:

有没有办法在 WPF 应用程序中简单地播放 youtube 视频,有或没有描述的灵魂。或者,也许我做错了什么。 谢谢。

【问题讨论】:

    标签: c# wpf youtube


    【解决方案1】:

    问题的原因

    当您使用本机 WebBrowser 控件时,请记住它由 Internet Explorer 提供支持(不确定 Windows 10 是否使用 Edge 来处理该控件),这两种过时的浏览器都可能不支持新的 YouTube 播放器。 YouTube 将其视频播放器转为支持新的 HTML5 播放器,因此停止支持 Flash,ShockWave Flash 对象无法正常工作。

    可能的解决方案

    您可以尝试使用更现代的嵌入式浏览器。在 C# 中,您最好的选择可能是 CEF 端口到 C#,CefSharp。 CEF 代表 Chromium Embedded Framework,因为 Chromium 是 Google Chrome 的基础,所以只要保持库更新,您将始终支持 Web 浏览器中的最新功能。

    【讨论】:

    • 我将此答案标记为已接受,但请记住,在 wpf 应用程序中使用 CefSharp 时速度慢得令人难以置信。那是因为 WPF 的渲染方式很糟糕(他们只是按位图渲染整个屏幕位图)。
    • @KarenTsirunyan 抱歉,但我不知道 CEF 在 WPF 中速度很慢。你可以试试壁虎(Mozilla Firefox 背后的网络引擎)-stackoverflow.com/questions/8778320/how-to-use-gecko-in-c-sharp
    【解决方案2】:
            string html = "<html><head>";
            html += "<meta content='IE=Edge' http-equiv='X-UA-Compatible'/>";
    
            html += "<iframe id='video' src= 'https://www.youtube.com/embed/{0}' width='640' height='360' frameborder='0' allow = \"autoplay; encrypted-media\" allowFullScreen></iframe>";
    
            html += "</body></html>";
            this.webBrowser1.DocumentText = string.Format(html, txtboxLink.Text.Split('=')[1]);
    

    这对我有用。为您的 播放按钮 活动试试这个。

    【讨论】:

    • 您介意提供一些有关上述代码如何解决问题的详细信息吗?这将有助于我们的理解,谢谢!
    • Flash 已经死了,不要试图恢复它。 YouTube 已明确禁用此功能,它将不再起作用。
    • 网页浏览器控制,Url需要正确。 [csharp-console-examples.com/winform/…@karen-tsirunyan
    【解决方案3】:

    我通常这样做:

    https://www.youtube.com/embed/XXXXXX
    

    XXXXX 是您的视频代码

    也检查这个答案 how do I embed a youtube video into a WPF MediaElement and save the video?

    【讨论】:

      猜你喜欢
      • 2013-06-08
      • 2013-09-23
      • 2013-07-28
      • 1970-01-01
      • 2018-09-05
      • 1970-01-01
      • 2012-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多