2009-07-07 16 views
2

Yahoo IMには素敵なトリックがあります。あなたがYouTubeビデオへのURLリンクを投稿すると、そのURLのビデオがロードされたFlash Playerがその場所に表示されます。URLの代わりにFlash Playerを表示

Delphi(7)ベースのチャットルーム(www.magchat.com)でも同じことをしたいと思います。表示コンポーネントはTRichViewです。

私はGoogleを精査し、何の成功もせずに多数のメールを送信しました...誰もが提案していますか?

私が達成しようとしている効果は、ユーザーがチャットプログラムのYouTubeにURLリンクを投稿したときです... TRichViewコンポーネントを使用するメインフォーム...プログラムはURLの代わりにFlash Playerを生成しますムービーはURLリンクから再生します。私はこれを起こす方法を知らないが、私が言ったように、YahooのIMプログラムでこれが行われているのを見たので、明らかに可能である。

私が知っているTRichViewコンポーネントにtwebbrowserを埋め込む方法はありません。私はこれが、URLが検出されたときに呼び出される何らかのフラッシュプレーヤーでなければならないと仮定していました。 TRichViewコンポーネントはフラッシュをサポートしています。

私はそれがはっきりしていることを望みます。私は最初の質問が完全にはっきりしているかどうかはわかりません。事前に

おかげで、

マーク・ガンディ www.magchat.com

+0

どのタスクで問題がありますか?あなたは言わなかった。 –

答えて

1

あなたはvパラメータでhttp://www.youtube.com/watch URLを見るたびに、ちょうど次のHTMLスニペットを含める:

交換
<object width="425" height="344"> 
<param name="movie" value="http://www.youtube.com/v/[video-id]&hl=en&fs=1&"> 
</param> 
<param name="allowFullScreen" value="true"> 
</param> 
<param name="allowscriptaccess" value="always"> 
</param> 
<embed src="http://www.youtube.com/v/[video-id]&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"> 
</embed> 
</object> 

URLからのvパラメータを伴う[video-id]の各出現。

上記のHTMLスニペットは、ランダムなYouTube動画のページから直接取り込まれた「埋め込み」コードです。サイズなどのいくつかのパラメータを微調整することができます

0

TRichViewは、HTMLを表示する方法を既に知っていますか? TWebBrowserを埋め込む必要はありません。だからLaurence's answerが示すHTMLを挿入できませんか?結局のところ、コンポーネントはFlashをサポートしているという。

ことが判明した場合TRichViewサポートフラッシュ、そして代わりに、Delphiのコントロールとしてそれを埋め込むしようとしません。 You already asked how to do that.TRichViewは、Delphiコントロールを挿入する方法を知っているので、Flash ActiveXプレーヤーをDelphiにインポートします。それはTRichViewに置くことができるはずのDelphiコンポーネントを定義します。

0

YouTube動画をDelphi win32アプリに埋め込むには、FlashアクティブXコントロールをコンポーネントにラップする必要があります(Watch this video)。

ビデオを表示するには、TShockWaveFlashコンポーネントのムービープロパティを設定します。あなたのURLがhttp://www.youtube.com/watch?v=oGeCqRfRAcQなら - に

これはビデオが利用可能になるのに時間がかかるようですが、初めてアプリケーションを実行するようには見えません。理由はわかりませんが、あなたはそれを解決します(私がこれを試したのは初めてです)。

0

oEmbedもご覧ください。メディアファイルの埋め込みバージョンを要求する標準的な方法ですので、他のユーザーが推奨する検索/置き換えを行う必要はありません。ここでは、YouTubeの例です:

あなたはYouTubeのURLを持っている:

http://youtube.com/watch?v=M3r2XDceM6A 

あなたは埋め込みコードを取得するには、YouTubeののoEmbedエンドポイントに要求を行います。

http://www.youtube.com/we/love/oembed/?url=http%3A//youtube.com/watch%3Fv%3DM3r2XDceM6A&format=json 

そして、彼らがいることをJSONレスポンスを返しますHTMLスニペットが含まれています:

{ 
    "version": "1.0", 
    "type": "video", 
    "provider_name": "YouTube", 
    "provider_url": "http://youtube.com/", 
    "width": 425, 
    "height": 355, 
    "title": "Amazing Nintendo Facts", 
    "html": 
     "<object width=\"425\" height=\"355\"> 
      <param name=\"movie\" value=\"http://www.youtube.com/v/M3r2XDceM6A&hl=en\"></param> 
      <param name=\"wmode\" value=\"transparent\"></param> 
      <embed src=\"http://www.youtube.com/v/M3r2XDceM6A&hl=en\" type=\"application/x-shockwave-flash\" 
       wmode=\"transparent\" width=\"425\" height=\"355\"></embed> 
     </object>", 
} 

oEmbedは多くの他のウェブサイトでもサポートされています:Flickr、V iddler、Qik、Hulu、Vimeoなど

関連する問題