YouTube ビデオを検索して再生できる Windows 7 64 ビット上の C#.NET (Windows フォーム) で軽量のデスクトップ アプリケーションを開発しています。
私は昼夜を問わず、可能な限りすべての方法でアプリに動画を再生させようとしましたが (WebBrowser と Shockwave ActiveX コントロールを試しました)、アプリ内で動画を再生できませんでした。 WebBrowser を使用して、URL https://www.youtube.com/watch?v= {VIDEO_ID}から完全な YouTube ビデオ ページに移動します。
私が実際に望んでいるのは、YT ビデオ ページ全体ではなく、プレーヤー自体のみを WebBrowser に埋め込むことができるようにすることです。これが私がこれまでに試したことです:
動作しますが、必要なものではありません:
WebBrowser.Navigate("https://www.youtube.com/watch?v=" + video.Id);
動作しません:
WebBrowser.Navigate("https://www.youtube.com/embed/" + video.Id);
Browser.Navigate("about:blank");
Browser.Document.OpenNew(true);
Browser.DocumentText =
"<html><body>" +
"<iframe width='420' height='315' src='https://www.youtube.com/embed/" + video.Id + "&html5=1' frameborder='0' allowfullscreen></iframe>" +
"</body></html>";
Browser.DocumentText =
"<object width='640' height='390'>" +
"<param name='movie' value='https://www.youtube.com/v/" + video.Id + "?version=3&autoplay=1'></param>" +
"<param name='allowScriptAccess' value='always'></param>" +
"<embed src='https://www.youtube.com/v/" + video.Id + "?version=3&autoplay=1' " +
"type='application/x-shockwave-flash' allowscriptaccess='always' width='640' height='390'></embed>" +
"</object>";
AxShockwaveCtl.GotoMovie("https://www.youtube.com/v/" + video.Id);
AxShockwaveCtl.Play();
AxVideo.SRC = "https://www.youtube.com/v/" + video.Id;
AxVideo.swURL = "https://www.youtube.com/v/" + video.Id;
AxVideo.Play();
WebBrowser.Document.Write などの他のものも試したと思いますが、何も機能しません。この問題についてここで他の質問を見てきましたが、最終的にはすべて問題を解決しているようで、彼らがしたことをやろうとしましたが、私の場合は何も機能しません. また、すべての Internet Explorer 設定を変更してみました。IE 11 や Chrome などの「フル」ブラウザを使用している場合はすべて機能しますが、アプリケーションでは、YouTube ビデオがあるはずの場所に黒い四角形が表示されるだけです。