2015-08-26 136 views
3

我正在使用AVPlayer播放視頻。我使用AVPlayer pause來暫停播放器。但與Charles一起觀察顯示,播放器處於暫停狀態時,流段仍在下載。如何強制AVPlayer在暫停狀態時暫停緩衝?

我發現AVPlayer buffering, pausing notification, and poster frame但他們說這是

AVPlayer將緩衝視頻在若干情況下,沒有克利 記錄

這是正常的行爲呢?玩家暫停時如何緩衝暫停?

+3

在[iOS 9]中籤出'canUseNetworkResourcesForLiveStreamingWhilePaused'(https://developer.apple.com/library/prerelease/ios/documentation/AVFoundation/Reference/AVPlayerItem_Class/index.html#//apple_ref/occ/cl/AVPlayerItem )。 – Anurag

+0

根據文檔,canUseNetworkResourcesForLiveStreamingWhilePaused應該沒問題,但在我的情況下不起作用。 – DixieFlatline

回答

0

您需要管理avplayer currentItem的preferredForwardBufferDuration。如果你想停止緩衝設定值1,因爲如果你將它設置爲0它會自動

self.avPlayer.currentItem.preferredForwardBufferDuration = 1; 

建立來自蘋果文檔:此屬性定義以秒爲首選前鋒緩衝時間。如果設置爲0,玩家將爲大多數使用情況選擇適當的緩衝級別。將此屬性設置爲較低值會增加播放停頓和重新緩衝的機率,而將其設置爲較高值會增加對系統資源的需求。