4

ここで説明したようにシークを実装しました ( AVAssetReader Seeking )。ただし、もちろん、AVAssetReader が取り壊されて新しいものが構築されるまでの顕著な遅延があります (データの読み取りを開始すると timeRange プロパティを変更できないため)。

データを読み取ってスキップするだけで、時間を先に進むことがかなりきれいにできると想像できますが、時間を遡って探すことは常にこの問題によって制約されます...

ユーザーがオーディオトラックのスクラブを楽しめるように、これを最適化する方法はありますか?

4

1 に答える 1

0

ここで発生するのはラグではないかもしれませんが、AVAssetReader の新しいインスタンスを作成して最初のサンプルを読み取るたびに、何らかのクリックが発生します。

実際、AVAssetReader は最初の 1024 サンプル (おそらくもう少し) をフェードインします。

本当に読み取りたい位置の前に 1024 サンプルを読み取り、その 1024 サンプルをスキップすることで修正しました。

それがあなたにとってもうまくいくことを願っています。

于 2012-11-08T09:21:40.753 に答える