ニコニコ動画をフルスクリーンで表示する
ニコニコ動画をWPFのWebBrowerで表示し、自動的にフルスクリーンにしたかったですが、JavaScriptを実行するにはFormのWebBrowserでないとできないようです。
また、WebBrowserのロードが読み終わってから操作しないとHtmlElementがNullになってしまうとのこと。
youtube - Null Value from GetElementById using C# - Stack Overflow
ちなみにニコニコ動画のプレイヤーのIDやフルスクリーン化の方法は下記サイトを参考にしました。
実際に作ったコードは下記です。
private void browser_DocumentCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e) { System.Windows.Forms.HtmlDocument document = browser.Document; if(document != null) { System.Windows.Forms.HtmlElement player = document.GetElementById("external_nicoplayer"); if(player != null) { player.InvokeMember("ext_setVideoSize", new object[] { "fit" }); } } }
これでフルスクリーン再生はできるようになりましたが、WPF(Form)のWebBrowserはIE7ベースが原因なのか、動画再生しようとすると下記の様なスクリプトエラーが発生します。
代替案としてCefSharp.Wpfを試していますが、こちらはFlash Playerがインストールされていないと出てしまいます。
ちなみに下記サイトを参考にレジストリを操作することでIE10相当に変えられますので、これでスクリプトエラーは出なくなると思いますが、
あまりレジストリを変える方法は取りたくないので試してません。