Youtube最近停止支持以www.youtube.com/v/{key}格式嵌入的视频.所以我试图将视频从"/ v /"转换为"/ embed /".但是,当我尝试导航到视频时,会弹出以下错误:
我使用以下内容导航到网页:
WPF
<WebBrowser x:Name="trailer" Margin="655,308,30,135"/>
Run Code Online (Sandbox Code Playgroud)
C#
trailer.Navigate("https://www.youtube.com/embed/v2fDTOdWuQQ?rel=0&showinfo=0");
Run Code Online (Sandbox Code Playgroud)
为什么仅通过从"/ v /"切换到"/ embed /"就无法工作?我该如何解决这个问题呢?
Tar*_*ani 14
这是现有SO线程的副本
在Web浏览器控件中使用最新版本的Internet Explorer
该线程有很多答案,其中包含实际代码.
在同一个最好的建议是设置一个非常高的数字,为您app.exe在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
我把它设置为20000,可以安全地假设在很多即将到来的版本中工作并使用最新版本.这种情况很容易在你的exe设置过程中完成.因此,您不必担心哪个版本存在,哪个版本不存在.嵌入工作所需的最低版本是IE 9.
另外,另一种选择是根本不使用嵌入式IE.相反,使用Chromium.有一个相同的CefSharp项目
该项目允许您在您的WinForms或WPF应用程序中嵌入chrome浏览器.该应用程序非常简单
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&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&showinfo=0");
}
}
}
Run Code Online (Sandbox Code Playgroud)
而且效果很好.这将使您的应用程序不依赖于目标计算机上安装的浏览器.
| 归档时间: |
|
| 查看次数: |
2838 次 |
| 最近记录: |