1

AS3でMP3ファイルをストリーミングしています。すべて正常に動作しています(再生できます)が、「シーク」バーを実装しようとしています。つまり、ファイルをキャッシュして(ダウンロード中)、ユーザーが曲の特定の時間を探したときに、キャッシュされたデータにアクセスする必要があります。

実際にmp3ストリームを再生するためのコード:

function openStream( stream )
{
    var s:Sound = new Sound();
    var req:URLRequest = new URLRequest(stream);
    var context:SoundLoaderContext = new SoundLoaderContext(500, true);
    s.load(req, context);
    s.play();

}

では、ダウンロード中にファイルをキャッシュしてから、キャッシュからデータにアクセスするにはどうすればよいでしょうか。

これは簡単な作業とはほど遠いことを私は知っているので、いくつかのチュートリアル/ドキュメント/記事へのリンクをいくつか提供していただければ幸いです。

4

1 に答える 1

0

このためにサウンドをキャッシュする必要はありません。

ダウンロードしたサウンドデータは、サウンドオブジェクトがメモリ内にある限り利用できます。

したがって、必要なのは、関数の外部にあるサウンドオブジェクトをクラススコープに取り込むことだけです。

また、play関数は、サウンドで使用されている現在のSoundChannelを返します。

private var snd:Sound = new Sound();
private var channel:SoundChannel;

function openStream( stream ) { 

     ... 

     channel = snd.play();
}

利用できるシーク機能を実装するには、

于 2012-10-04T06:33:38.227 に答える