1

Flash/AS3 でナラティブ クリックスルー キオスク アプリを構築しています。現在、タイムラインの FLVPlayback コンポーネントにロードしているローカルにロードされた .flv ファイルがいくつか (10 以上) あります。読み込みの遅延が発生しており、このケースのベスト プラクティス / ベスト ケース シナリオを考えています。これらはすべて、ビデオのインポートに「再生コンポーネントを使用して外部ビデオをロードする」オプションを使用しています。

これまでのところ、次の 2 つの方法で実装を試みました。

  1. 「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 秒の遅延が発生します。

  2. これは私には型破りですが、タイムラインに複数のフレームを使用しました。各フレームには、ステージ上に 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 インスタンスにプリロードできますか?

ヒントやベスト プラクティスを歓迎します。

4

1 に答える 1

0

flv ファイルがどこからロードされているか (ローカルまたはリモート) を教えてくれませんでしたが、キオスク スタイルのアプリを構築していると言ったように、私はここで手足を踏み出して、ほぼ確実にすべきだと言います。キオスク アプリに Adob​​e AIR を使用します。

複数のインスタンスを作成する理由はなく、FLVPlaybackを使用して複数のビデオを再生できます。getVideoPlayer(index)ストリームを呼び出してストリームを管理するのはあなた次第ですclose()

ファイルをリモートでロードしている場合は、Adobe AIR を使用して、FileStreamクラスを使用して各ビデオをローカル フォルダーにダウンロードできます。これにより、これらのファイルの再生プロセスが高速化されます。

于 2012-10-20T19:15:31.853 に答える