1

私のアプリでは、ユーザーはビデオを再生して画面を離れることができ、バックグラウンドで引き続き再生されます (オーディオのみ)。その後、戻ってビデオの視聴を続けることができます。これは、ビデオが含まれているビューが破棄され、後で再作成されることを意味します。ビューが再作成され、プレーヤーがその AVPlayerLayer に設定されるたびに、ビデオ、さらに重要なことにオーディオに顕著なラグが発生します。

この遅延を解消する方法を知っている人はいますか?

4

1 に答える 1

1

オーディオまたはビデオのラグ/遅延なしでこれを機能させるための鍵は、ビューの外に AVPlayerLayer を使用してビューを保存することです。コントローラーをリロードするときは、新しいビューを作成してそのプレーヤーを同じプレーヤーに割り当てるのではなく、古いビューを新しいビュー コントローラーのビューにアタッチするだけです。

ビデオがまだ再生されている限り、ビューはメモリに残ります。そのため、新しい AVPlayerLayer が作成されて割り当てられることはありません。遅延を引き起こすのは再割り当てです。

于 2013-07-30T16:24:35.863 に答える