DSPackを使用して、Youtubeなどの flvファイルの再生を
行おうと色々やっているのですが、なかなか分かりません・・・。
現在、ここ↓の上側のサンプルを試してみると、
http://www.vwlowen.co.uk/directshow/page02.htm
音だけが聞こえてきて、映像が出ません。
下側を試してみると、
「ピンが接続されていないので、操作は実行できません。($80040209)」
と、エラーメッセージが表示されるだけとなります。
ブラウザではYouTubeなど、Flashは問題なく見れるのですが、
環境など、今ひとつ分かっておりません。
わかる方がおられましたら、宜しくお願い致します。
(win2k, D5, Adobe Flash Player version:10,0,42,34)
Windows Media PlayerなどDirectShowを使用したプレーヤーでそのflvファイルが再生できる環境になっていますか?
DSPackはあくまでもDirectShowを使いやすくしたライブラリですので、
DirectShowで扱えない(必要なコーデック等が存在しない)場合は再生できません。
また、再生が可能な環境である場合はピンの繋ぎ方の問題になるので、
GraphEditというツールでflvファイルを開けば、視覚的にピンの接続を確認することができます。
(逆に言えばこのツールで再生不可な場合は環境が整っていないということです)
GraphEditはマイクロソフトが配布しているPlatformSDK(今は違うかも?)に含まれています。
ただし環境が整っている場合、普通はRenderFileで自動的に必要な接続が行われますので、
恐らくflvを再生するためのコーデック等が存在しない可能性が高いと思われます。
なお、ブラウザでFlashが見れることとDSPackで再生できることは基本的に関係ありません。
(Flashは独自にflvを再生するのでDirectShowを使用しません)
ですので、Flash Playerのバージョンや有無等も関係ありません。
jazzinさん、詳しい説明ありがとうございます。
全く知らない世界なのですが、奥が深そうですね。
色々検索してみて、以下のサイトを見つけました。
ちょっと試してみようと思います。
ありがとうございました。
「DirectShowでFLVを再生するために必要なものの導入手順」
http://goldenhige.cocolog-nifty.com/blog/2010/01/directshowflv-c.html
すみません。ふと思ったのですが、再生可能な環境を自分のPCで構築し、
ソフトを作成して無事flvファイルを再生できたとします。
この後、このソフトを他のPCで実行した場合、
やはり同様に再生可能な環境でないと再生できないのでしょうか?
もしそうなら、ソフトを一般公開しても、環境が無いPCでは
ソフトは動作しないということになるのですよね?
ShockwaveFlashのActiveXをDelphiに取り込んで、そのコンポでYouTubeのflv動画をストリーミング再生するようにしたらどう?
ほとんどのPCにはFlashが入ってると思うから。
また、Gom Playerも自前でflvのコーデックを持ってるから、Gom Playerがインストールしてあれば GomXのActiveXをDelphiに取り込んで、それでflv再生ができる。
「それならば」さん、ありがとうございます。
ShockwaveFlashのほうをやってみました。
ヘルプが無いのでメソッドの名前で勝手に判断して以下のようなコードで
試しましたが、何も起きませんでした。
なお、.swfファイルだと、表示されました。
何か違いがあるみたいですが、ここからは分かりません^^;
もうちょっと色々粘ってみようと思っています。
ShockwaveFlash1.Movie := OpenDialog1.FileName;
ShockwaveFlash1.Play;
YouTubeにあるflvやmp4動画のストリーミング再生なら
このようにして出来るんだけど。
ShockWaveFlash1.Movie := 'http://www.youtube.com/v/7Id9iRinBaE';
それはflvやmp4のストリーミング再生をしてるわけじゃない
flvやmp4のストリーミング再生をするswfをロードしてるだけ
直接flvをロードすることはオフラインだろうとオンラインだろうとできない
直接であれ間接であれ、動画が再生出来て、動画ファイルもキャッシュにDLされてるから、いいんじゃない?
編集 削除ブラウザで普通に再生するのと何が違うの?
編集 削除