Flash/AS3 でナラティブ クリックスルー キオスク アプリを構築しています。現在、タイムラインの FLVPlayback コンポーネントにロードしているローカルにロードされた .flv ファイルがいくつか (10 以上) あります。読み込みの遅延が発生しており、このケースのベスト プラクティス / ベスト ケース シナリオを考えています。これらはすべて、ビデオのインポートに「再生コンポーネントを使用して外部ビデオをロードする」オプションを使用しています。
これまでのところ、次の 2 つの方法で実装を試みました。
「video_player」という名前のステージで 1 つのフレーム、1 つの FLVPlayback を再生し、クリックスルー/ユーザー アクションでビデオを切り替えると、次のようになります。
var new_flv:String = "next_flv.flv"; video_player.stop(); video_player.source("_flvs/"+new_flv); video_player.seek(0); video_player.play();
これにより、数秒から 10 秒の遅延が発生します。
これは私には型破りですが、タイムラインに複数のフレームを使用しました。各フレームには、ステージ上に FLVPlayback インスタンスがあり、コンポーネント パラメータの「source」プロパティにそれぞれ異なる相対パスが配置されています ( http://www.ashleylovespizza.org/stuff/flv_example.pngを参照)。このコードは、フレーム ラベルに基づいてフレームを切り替えてから再生を押しています (自動再生はコンポーネント パラメータでもオフになっています)。
var new_flv_frame_name:String = "next_frame"; this.gotoAndStop(new_flv_frame_name); this.video_player.play();
繰り返しになりますが、読み込みに時間がかかるという問題があります。この動作を防ぐにはどうすればよいでしょうか? 再生ヘッドのさまざまな瞬間にシーク()する1つの長いflv?ダブルバッファリングと同様に、別の FLVPlayback インスタンスにプリロードできますか?
ヒントやベスト プラクティスを歓迎します。