私は現在、AS3 でダイナミック MP3 プレーヤーに取り組んでいます。プレーヤーは、連続した (長さの) ラジオ ストリームもサポートします。
私のプレーヤーには「シーク」バーが含まれているため、ユーザーがサウンド オブジェクトのデータをシークできるようにします。これで、連続ストリームではダウンロードが停止しないため、ユーザーの RAM に保存されているデータが停止しないことがわかりました。これは、数時間のストリーミングの後、RAM の割り当てがアプリによって使用されていることを意味します。非常に高いスペックを実行している自分のマシンでアプリをテストしましたが、アプリがブラウザーでクラッシュします。アプリがクラッシュするとは、Flash 全体を意味します。つまり、Flash を再び使用するにはブラウザを再起動する必要があります。Flash は過去に一度もクラッシュしたことがないので、私のアプリが原因であることはわかっています。アプリが 2 時間以上ストリーミングされている場合にのみ実行されます。
したがって、私がやりたいことは、ユーザーが最大 1 時間分のオーディオをキャッシュできるようにすることです。1 時間後、サウンド オブジェクト データの前半をクリアしたいと考えています。つまり、直近の 30 分間のオーディオのみが保存され、シークに使用できるようになります。
だから私は私のストリームを持っています:
var soundObj:Sound = new Sound();
soundObj.load(new URLRequest('stream.mp3'));
//ect ect
sound
データが保存される場所です。私の質問: そのオブジェクトから最初の 30 分間のオーディオを削除するにはどうすればよいですか?