何とかYouTubeからフィードを検索できたので、次は動画を再生する部分。
Flash PlayerのActiveXコントロールを使います。といってもこれはとても簡単でした。
C# Expressのメニュー「ツール」→「ツールボックスアイテムの選択」でCOMタブを選んで
「Shockwave Flash Object」を追加します。するとツールボックスに「Shockwave Flash Object」が
出てくるのでこれをフォームに貼り付けるだけです。
(FlashのActiveXを利用するためにはFlash Player6以上がインストールされている必要があります)
あとは前々回の記事で取得した動画のURLをLoadMovieメソッドに渡してあげれば動画を再生できます。
YouTubeのサイトだとページが表示されると自動的に再生が始まるのですが、
上のメソッドだけでは再生が始まらず、画面の真ん中に三角のボタンが表示
された状態でとまっています。続けてplayer.Play()としても結果は同じ。
多分ですが、FlashにはJavaScriptからActionScriptの関数を呼び出す機能があり、
それを使って、自動再生を開始しているのかなと思います。
なので、今回のアプリからロードした瞬間に実行できるようにすることは
不可能ではないと思うのですが、(WebBrowserコントロールを使うなりして)
難しそうです。
これでひとまず調査は完了にしてアプリを作ってみたいと思います。
Flash PlayerのActiveXコントロールを使います。といってもこれはとても簡単でした。
C# Expressのメニュー「ツール」→「ツールボックスアイテムの選択」でCOMタブを選んで
「Shockwave Flash Object」を追加します。するとツールボックスに「Shockwave Flash Object」が
出てくるのでこれをフォームに貼り付けるだけです。
(FlashのActiveXを利用するためにはFlash Player6以上がインストールされている必要があります)
あとは前々回の記事で取得した動画のURLをLoadMovieメソッドに渡してあげれば動画を再生できます。
player.LoadMovie(0, "http://www.youtube.com/v/KLbL3i9p9EE&f=gdata_videos");
YouTubeのサイトだとページが表示されると自動的に再生が始まるのですが、
上のメソッドだけでは再生が始まらず、画面の真ん中に三角のボタンが表示
された状態でとまっています。続けてplayer.Play()としても結果は同じ。
多分ですが、FlashにはJavaScriptからActionScriptの関数を呼び出す機能があり、
それを使って、自動再生を開始しているのかなと思います。
なので、今回のアプリからロードした瞬間に実行できるようにすることは
不可能ではないと思うのですが、(WebBrowserコントロールを使うなりして)
難しそうです。
これでひとまず調査は完了にしてアプリを作ってみたいと思います。
コメント
コメントの投稿
トラックバック
http://csfun.blog49.fc2.com/tb.php/3-f42c5590