2

の 2 つのプロパティを見てきましたAVPlayerItem

@property (nonatomic, readonly, getter=isPlaybackBufferFull) BOOL playbackBufferFull;

@property (nonatomic, readonly, getter=isPlaybackBufferEmpty) BOOL playbackBufferEmpty;

さて、Appleのドキュメントには次のように書かれています:

再生バッファフル:

このプロパティは、再生に使用されるデータ バッファーの容量に達したことを報告します。playbackLikelyToKeepUp再生バッファが容量に達しているにもかかわらず、 の予測をサポートするのに十分な統計データが存在しない可能性があり YESます。

再生バッファが空です:

これは、再生がバッファリングされたすべてのメディアを消費し、再生が停止または終了することを示します。


これらのステートメントから、私が理解していることは次のとおりです。

再生バッファフル:

すべてのデータが読み込まれて再生されます。たとえば、URL から 5 分間のビデオを再生しています。最後まですべてのコンテンツが読み込まれると、これらは true になります。

再生バッファが空です:

実際の再生は、今までにロードされたすべてのバッファを消費しました。たとえば、2.3 分までのデータがロードされ、再生もその時間まで到達し、提示するコンテンツがこれ以上ありません。(これがメリーゴーランドを始める時だと思います、指標)

私は何か誤解しましたか?はいの場合、私を修正してください..

深い知識やアドバイスは大歓迎です!

4

1 に答える 1

5

私はこれについて専門家ではありませんが、私の理解は次のとおりです。

ビデオは圧縮形式で保存されます。フレームを表示する必要があるまで、圧縮は解除されません。これは、ビデオが表示されているときに、再生バッファーでリアルタイムに発生します。

再生バッファは、表示の準備ができている圧縮解除されたフレームのバッファです。満杯の場合でも、完全なビデオを再生する準備ができているわけではありません。再生バッファの長さはわずか数秒です。これは、再生バッファが保持する数秒間の再生がいっぱいであることを意味します。

空の場合は、再生する準備ができているビデオがないことを意味するため、再生が終了するか、フリーズして、さらにコンテンツを読み込む間、「バッファリング」メッセージが表示されます。

于 2016-06-03T11:22:41.420 に答える