【发布时间】:2017-07-05 07:10:33
【问题描述】:
我实际上正在开发一个 JARVIS 助手 它会有很多模块,但我从一个简单的模块开始。
Youtube One。所以我的全屏或隐藏主窗口有一个 WebBrowser
private static string GetYouTubeVideoPlayerHTML(string videoCode)
{
var sb = new StringBuilder();
const string YOUTUBE_URL = @"http://www.youtube.com/embed/";
sb.Append("<html>");
sb.Append(" <head>");
sb.Append(" <meta name=\"viewport\" content=\"width=device-width; height=device-height;\">");
sb.Append(" </head>");
sb.Append(" <body marginheight=\"0\" marginwidth=\"0\" leftmargin=\"0\" topmargin=\"0\" style=\"overflow-y: hidden\">");
sb.Append($" <iframe width=\"100%\" height=\"100%\" src =\"{YOUTUBE_URL}{videoCode}?autoplay=1&showinfo=0&controls=0\" frameborder = \"0\" allowfullscreen>");
sb.Append(" </body>");
sb.Append("</html>");
return sb.ToString();
}
这将返回我与 WebBrowser.Navigate() 一起使用的字符串
效果很好,但如果视频嵌入了 VEVO 之类的限制,我就看不到它 https://www.youtube.com/embed/wfN4PVaOU5Q 在这里举例 一件事告诉我这是可能的,因为在这个网站上 http://codepen.io/Jebik/pen/ZLZQwX 嵌入工作就像一个魅力...... 所以这可能是我对这个限制不了解的地方。
欢迎任何想法和解决方案。 但我宁愿有一个合法的解决方案,比如“你必须注册你的域并在 https 中询问页面”,而不是“你可以通过这种方法破解这种安全性”
【问题讨论】:
标签: c# wpf youtube webbrowser-control embed