c# - 在网络浏览器中嵌入 Youtube 视频。对象不支持属性或方法

标签 c# wpf youtube

Youtube 最近停止支持以 www.youtube.com/v/{key} 格式嵌入的视频。所以我试图将视频从“/v/”转换为“/embed/”。但是,当我尝试导航到视频时,会弹出以下错误:

enter image description here

enter image description here

enter image description here

我正在使用以下内容导航到该网页:

WPF

<WebBrowser x:Name="trailer" Margin="655,308,30,135"/>

c#

trailer.Navigate("https://www.youtube.com/embed/v2fDTOdWuQQ?rel=0&amp;showinfo=0");

为什么仅通过从“/v/”切换到“/embed/”就无法工作?我该如何解决这个问题?

最佳答案

这是现有 SO 线程的副本

Use latest version of Internet Explorer in the webbrowser control

线程中有很多答案以及实际代码。

最好的建议是在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION 中为您的 app.exe 设置一个非常高的数字>

我将它设置为 20000,这可以安全地假设在许多即将到来的版本中工作并使用最新版本。这种情况在您的 exe 设置过程中很容易完成。因此,您不必担心哪个版本存在,哪个不存在。嵌入工作所需的最低版本是 IE 9。

此外,另一种选择是根本不使用嵌入式 IE。相反,请使用 Chromium。在

上有一个相同的 CefSharp 项目

https://cefsharp.github.io/

此项目允许您在 WinForms 或 WPF 应用程序中嵌入 Chromium 浏览器。该应用程序非常简单

using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;

namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
        ChromiumWebBrowser chrome;

        private void InitChrome()
        {
            CefSettings settings = new CefSettings();
            Cef.Initialize(settings);
            chrome = new ChromiumWebBrowser("https://www.youtube.com/embed/v2fDTOdWuQQ?rel=0&amp;showinfo=0");
            this.Controls.Add(chrome);
            chrome.Dock = DockStyle.Fill;
        }
        public Form1()
        {
            InitializeComponent();
            InitChrome();
            //this.webBrowser1.Navigate("https://www.youtube.com/embed/v2fDTOdWuQQ?rel=0&amp;showinfo=0");
        }

    }
}

而且效果很好。这将使您的应用程序不依赖于目标计算机上安装的浏览器。

Youtube Chromium

关于c# - 在网络浏览器中嵌入 Youtube 视频。对象不支持属性或方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46185600/

相关文章:

c# - 如何使 JSON.NET StringEnumConverter 使用连字符分隔的大小写

c# - AWS SQS 与 mysql 和 C# 一起处理数十万条消息

c# - 如何从 youtube 获取我的 youtube 视频列表?

android - IOS/Android 应用上传视频到 YouTube?

c# - WPF 自定义窗口在设计时不应用其通用模板

oauth - 如何手动获取Google OAuth token ?

c# - 使用正则表达式删除字符

c# - 将 RowSplitter 与 UniformGrid 或其他东西一起使用以获得所需的结果

wpf - 实时WPF图表.Net 4

wpf - 过多的数据绑定(bind)是否会使 WPF 应用程序变慢?有哪些可用的优化技术?