どのドライバなんだ…


ドラ  2010-05-26 00:32:28  No: 38553  IP: 192.*.*.*

フォームにボタン、メディアプレイヤー、オープンダイアログの3つ
コンポーネントを貼り付けて以下の処理をボタンのonClickで行っているのですが
  if OpenDialog1.Execute = False then Exit;
  MediaPlayer1.FileName := OpenDialog1.FileName;
  MediaPlayer1.Open;
  MediaPlayer1.Play;
aviファイルを開こうとすると
「システムにドライバがインストールされていません」
と表示されます、aviファイルを再生ソフトで再生するとうまくいくのでファイルが壊れているとかではないはずです
同じような状況になった方はおられませんか?

編集 削除
igy  2010-05-26 10:30:54  No: 38554  IP: 192.*.*.*

>再生ソフトで再生するとうまくいくので

Windows Media Player で再生した場合は、どうなりますか?

avi ファイルを Windows Media Player で再生するとエラー メッセージが表示される
http://support.microsoft.com/kb/279242/ja
では、エラーに関しての情報があるみたいですが・・・

編集 削除
ドラ  2010-05-26 12:23:00  No: 38555  IP: 192.*.*.*

>>igyさん
WMPではうまく再生されます。
mcisendstringで再生しようとしてもエラーでるのですが、これも関係しているのでしょうか?

編集 削除
jazzin  2010-05-26 15:04:02  No: 38556  IP: 192.*.*.*

Windows Media Playerは再生にDirectShowを使います。
一方でDelphiのTMediaPlayerはMCI系APIを使用して再生します。
最近のコーデックはDirectShow用しか提供されていないことも多いので、
恐らくMCI(=TMediaPlayer)では再生できない形式だと思われます。

ではDirectShowを使用した再生はどうやるのかというと、
DSPackなどのコンポーネントを使用すればDelphiでもわりと簡単にできるのですが、
(日本語の)解説が少ない、そもそもDirectShowの知識を前提とするなど、敷居が高いのも事実。
ですのでWindows Media Player自体を取り込んでそのまま使うのが一番楽です。

幸いにしてこちらは日本語での解説を書いてくださった方がいるので、
こちらを参考にするとうまく再生出来るようになるのではないでしょうか。
http://www.geocities.jp/fjtkt/program/2004_0007.html
http://www.geocities.jp/fjtkt/program/2004_0008.html
http://www.geocities.jp/fjtkt/program/2007_0002.html

編集 削除
Delphi大好き  2010-05-26 21:30:23  No: 38557  IP: 192.*.*.*

横からすいません。
メディアプレーヤー関連なのですが、
こちらでは音楽CDの再生(読み込んでいるが音が出ない)
と言う症状を抱えてます。

どうやらこちらのパソコンの設計上の問題で、
APIを使った再生には対応してないでみたいです。

で、ググってみたところ、
このメディアプレーヤーを使ってDelphiから音楽CDを再生する方法を
載せてあるサイトを発見しました。

その結果、音楽CDの無事音が出ました(^o^)。
きっかけを与えてくださったjazzinさんに感謝です^^。

>TWindowsMediaPlayerでCD再生を行おうというページ。<
http://cult-drang.com/program/tips/wmp/cdplay.html

以上、蛇足の横やり追記でした。

編集 削除