我使用AVQueuePlayer
來播放從URL加載的電影序列。
我試圖用我需要玩的所有AVPlayerItems
的數組初始化玩家實例。AVQueuePlayer播放沒有間隙和凍結
player = [[AVQueuePlayer queuePlayerWithItems:playerItemsArray]
但是,在這種情況下AVQueuePlayer
負載的每一個AVPlayerItem
的開始播放前一些初始部分。它會導致令人沮喪的凍結,並且應用程序在幾秒內不會響應。
有可能僅第一AVPLayerItem
添加到播放器的隊列中,觀察其狀態,並在隊列中添加第二個項目,只有當第一將達結束,但在這種情況下,會有引起的初始化和兩個項目的播放之間的間隙緩衝第二個AVPlayerItem
。
有什麼辦法可以組織無縫播放多個視頻而不會凍結?
我是否應該爲此目的使用其他玩家?
在此先感謝。
嗨yury.ku,我們有您已經發布有什麼相同的問題。我們創建了一個示例應用程序來測試它。一旦將它加載到didEndPlay:notification API中,我們就添加新的播放器項目。但是我們仍然面臨一些UI凍結問題。你能提供更多關於你如何解決這個問題的信息嗎? – nkd 2013-09-11 08:10:17
這個解決方案對我來說也不起作用,音軌之間的差距仍然很小 – 2015-04-07 21:36:25
根據[AVFoundation Programming Guide](https://developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/ 02_Playback.html#// apple_ref/doc/uid/TP40010188-CH3-SW3):'嘗試使用URL初始化AVURLAsset,然後加載其跟蹤密鑰。 如果曲目加載成功,則爲資產創建播放器項目。 '。所以,你應該使用'NSArray * keys = [NSArray arrayWithObject:@「tracks」];'而不是。 – 2015-10-13 21:09:53