2011-11-10 20 views
0

WebBrowserコントロールでWindowsアプリケーションを作成し、YouTube動画を再生しようとしています。私はAdobe Shockwave Playerをインストールしました。それはビデオを表示しません。私は再生ボタンを押すと、ビデオを再生するため、この enter image description hereWindowsアプリケーションでyoutubeビデオを再生する方法C#

私のコードは

StreamWriter sw = new StreamWriter("utube.html"); 
     string PlayString = currentVideoUrl.Trim().Replace("watch?v=", "v/"); 
     string Finalplaycode = "<embed src=" + PlayString + "&hl=en&fs=1& type=application/x-shockwave-flash allowscriptaccess=always allowfullscreen=true width=425 height=344></embed>"; 
     sw.Write(Finalplaycode); 
     sw.Close(); 
     string PathToNavigate = Directory.GetParent(Application.ExecutablePath) + @"\utube.html"; 
     webBrowser1.Navigate(PathToNavigate); 

で、私の例のビデオリンクがあるように画面が見えます:http://www.youtube.com/watch?v=oZdnezj9Dfg&feature=BFa&list=PLD3E900BFF6534896&lf=plpp_video

誰もがこの問題について私を助けることができますか?私はプラグインまたは何かを紛失しましたか?私は.NetFramework 4.0を使用しています

+0

32ビットアプリケーションまたは64ビットアプリケーションを実行していますか? Google ChromeまたはInternet Explorerを使用して埋め込みに移動しようとすると埋め込みが機能しますか? –

+0

私は32ビットアプリケーションを使用しています。ナビゲートとはどういう意味ですか?あなたは、Windowsアプリケーションのリンクをクリックし、送信されたURLと再生ビデオで新しいブラウザを開くことを意味ですか?はいの場合、私はそれを知ることができます。しかし、私はWindowsアプリケーションでビデオを再生しようとしています。私はこの記事を見つけましたが、そのFlashObjectsを見つけることができません.. http://social.msdn.microsoft.com/Forums/en-US/winformsdesigner/thread/5815e676-50b0-47f4-964a-c1bcebfdb9a4/ –

答えて

2

私が見る1つの問題は、埋め込みのパラメータを引用していないことです。あなたはそれらのパラメータを引用する必要が

<embed src=http://www.youtube.com/v/video_id...> 

::あなたの埋め込みのように生成されます。たとえば

<embed src="http://www.youtube.com/v/video_id..."> 

を、ここに私のサイト上で動作埋め込みます:

<embed type="application/x-shockwave-flash" width="425" height="344" 
src="http://www.youtube.com/v/UejelYnVI3U&amp;hl=en&amp;fs=1"></embed> 

あなたが興味があるかもしれません公式のYouTubeドキュメントを読む際に彼らは、iframeを利用して埋め込みを使用しなくなりました。これにより、HTML5動画プレーヤーが利用可能であればそれを使用することができ、そうでない場合はFlashにフォールバックすることができます。詳細はhttp://www.google.com/support/youtube/bin/answer.py?answer=171780を参照してください。

更新:

以下のHTMLファイルは、2つの方法で同じビデオを埋め込む:一度のiframeを使用して、一度標準の埋め込みを使用して。

<html> 
<body> 
<iframe class="youtube-player" type="text/html" width="640" height="385" 
src="http://www.youtube.com/embed/oZdnezj9Dfg" frameborder="0"> 
</iframe> 

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" 
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"> 
<param name="src" value="http://www.youtube.com/v/oZdnezj9Dfg&amp;hl=en&amp;fs=1" /> 
<embed type="application/x-shockwave-flash" width="425" height="344" 
    src="http://www.youtube.com/v/oZdnezj9Dfg&amp;hl=en&amp;fs=1"> 
</embed> 
</object> 

</body> 
<html> 

はそれをコピーし、あなたのアプリケーションでそれに移動してみてください。それは私がWebBrowserコントロールとそれにナビゲートしたときに見つけ動作します。あなたのプログラムがそれと同じように埋め込みを作成していることを確認してください。

また、既にフラッシュがインストールされている場合は、外側の<object>タグを削除できます。それで、Flash埋め込みは、私が最初に示したように見えます。

そして、HTMLラッパーを置く必要はありません。 <html>と他のタグを付けずに埋め込みを含めるだけでうまくいきます。

+0

あなたのお返事ありがとうございます。しかし、問題は私のWindowsアプリケーションでは、埋め込みが動作していません。私はiFrameとHTML5のサポートを使用して私のWebBroswerコントロールでも失敗したyoutubeのオリジナルの埋め込みを埋め込もうとしました。どうすれば私のWindowsアプリケーションでFlash Playerを有効にできますか? –

+0

または別の方法を提案できますか? –

+0

@Serkan:私の更新答えを見てください。 –

関連する問題