在WebBrowser控件中全屏播放youtube

我有以下XAML:

    

我尝试播放youtubevideo。 这是我尝试过的:

 this.webBrowser1.Source = new Uri("http://youtube.googleapis.com/v/L8bE5-g8VC0"); 

这个显示所有播放器控件的YouTube播放器。 但是全屏按钮不起作用。 我点击它,但播放器没有全屏显示。 按钮变为刚刚禁用。

我也试过这个:

 this.webBrowser1.Source = new Uri("http://www.youtube.com/embed/L8bE5-g8VC0"); 

这也会显示所有播放器控件的YouTube播放器。 全屏按钮工作正常。 但是,当我再次访问此video或其他video(通过设置Source属性)时,播放器按钮会消失。 要再次查看播放器按钮,我需要删除IE的临时Internet文件。 我每次播放video之前都可以删除临时文件,但这对我来说不是解决方案。

我正在运行Windows 7 64位并使用WPF 4.0。 我想要的是在我的WebBrowser中显示YouTube播放器并使全屏按钮正常工作。 有人有点想法吗?

解决方案,对我有用 – 用嵌入式video播放器构建一个小的HTML页面:

 public static class WebBrowserExtensions { private static string GetYouTubeVideoPlayerHTML(string videoCode) { var sb = new StringBuilder(); const string YOUTUBE_URL = @"http://www.youtube.com/v/"; sb.Append(""); sb.Append(" "); sb.Append(" "); sb.Append(" "); sb.Append(" "); sb.Append(" "); sb.Append(" "); sb.Append(" "); sb.Append(" "); sb.Append(" "); sb.Append(" "); sb.Append(" "); sb.Append(""); return sb.ToString(); } public static void ShowYouTubeVideo(this WebBrowser webBrowser, string videoCode) { if(webBrowser == null) throw new ArgumentNullException("webBrowser"); webBrowser.NavigateToString(GetYouTubeVideoPlayerHTML(videoCode)); } } 

用法:

 this.webBrowser1.ShowYouTubeVideo("L8bE5-g8VC0");