AVPlayer 需要很长时间才能开始播放音频

AVPlayer takes long time to start audio play

我有一个音乐播放器,它使用 AVPlayer 从服务器流式传输音频,它可以很好地播放音频,但是在播放完一个音频后,当我点击新音频的播放按钮时,需要一些时间才能开始新的音频大约 35-40 秒。谁能帮帮我?

使用观察者了解播放器状态。 使用 KVO,可以通知玩家状态的变化:

playButton.enabled = NO; player = [AVPlayer playerWithURL:fileURL]; [player addObserver:self forKeyPath:@"status" options:0 context:nil];

状态改变时会调用此方法:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object
                    change:(NSDictionary *)change context:(void *)context {
if (object == player && [keyPath isEqualToString:@"status"]) {
    if (player.status == AVPlayerStatusReadyToPlay) {
        playButton.enabled = YES;
    } else if (player.status == AVPlayerStatusFailed) {
        // something went wrong. player.error should contain some information
    }
}

}