相关疑难解决方法(0)

AVPlayer不会触发playbackBufferEmpty,但也不会播放

我使用AVPlayer通过互联网播放音频直播.如果暂停时间超过1分钟,我喜欢恢复播放.

我打电话player.rate = 1.0来恢复.但是,如果流暂停> 1分钟,则不再播放.在这种情况下,我需要重新创建AVPlayerItem以使其再次工作.

我怎么能抓住这个案子,所以我知道播放没有恢复?

  • 我试过KVO player.rate.它保持不变1.0.玩家不玩!
  • 我试过KVO 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)

ios avplayer avplayeritem

7
推荐指数
1
解决办法
1762
查看次数

标签 统计

avplayer ×1

avplayeritem ×1

ios ×1