我使用AVPlayer通过互联网播放音频直播.如果暂停时间超过1分钟,我喜欢恢复播放.
我打电话player.rate = 1.0来恢复.但是,如果流暂停> 1分钟,则不再播放.在这种情况下,我需要重新创建AVPlayerItem以使其再次工作.
那我怎么能抓住这个案子,所以我知道播放没有恢复?
player.rate.它保持不变1.0.玩家不玩!currentItem.playbackBufferEmpty.但是在这种情况下不会调用它.currentItem.status没有切换到.Failed.它根本没有变化.在这种情况下,AVPlayer似乎什么都不做.有任何想法吗?
我构建了一个Playground代码来演示这个问题:
import UIKit
import AVFoundation
// keep it running forever so it plays audio
import XCPlayground
XCPSetExecutionShouldContinueIndefinitely(true)
class AVPlayerTest {
let player = AVPlayer()
let streamurl = NSURL(string: "http://detektor.fm/stream/mp3/musik/")!
func startTest() {
let item = AVPlayerItem(URL: streamurl)
player.replaceCurrentItemWithPlayerItem(item)
player.play()
// give it some start time to build a buffer
NSTimer.scheduledTimerWithTimeInterval(2, target: self, selector: #selector(timerTickedToPause), userInfo: nil, repeats: false) …Run Code Online (Sandbox Code Playgroud)