同人ゲームを製作しており、exe実行時にオープニングムービーを再生する仕組みを作っています。
具体的には、最初に作成されるフォームにPanelを貼り付けそこに投影、
再生が終わるかクリックされるとムービーを片付けてメインメニューを構築する、といった感じです。
現在、OnFormCreateにてTMediaPlayer.Open/TMediaPlayer.Playとやっていて、
開発環境では全く問題ないのですが、いざ配布用のCD-Rに焼いてそこから実行すると・・・。
まず、音がちょっとだけ流れて停止、ドライブがガコガコ言ってから映像が登場、
音と絵の同期が取れたのを待って普通の再生になります。そこから先も、1秒ごとに0.2秒くらいずつ停止し、
非常にぎこちない感じになります。
ドライブはPioneer DVR-105で速度的に不足はなく、直接ムービーを開くとスムーズに流れます。
バッファ容量などをいじって解決できないものでしょうか。
FormCreate後のFormShowとかにおこなうか、ムービーがおわってから次の読み込み処理をおこなう必要があります。
光学ドライブのピックアップ(読み取り装置)は、メディアの読み込みと、フォームのプロパティのローディングの両方でデータをトラッキングするためピックアップを移動して位置を決めるための動作時間がHDDの何十倍もかかるのです。
ありがとうございます。
どうしても上手くいかなかったため、TWindowsMediaPlayerを入れてみたところ、読み込みに関する不具合は全て解決しました。
ツイート | ![]() |