我想,AVplayer首先检查URL的内容是否可用。你必须添加观察者。
[avplayerObject addObserver:self forKeyPath:@"status" options:0 context:nil];
#pragma Observer for Player status.
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if (object == _audioPlayer && [keyPath isEqualToString:@"status"]) {
if (_audioPlayer.status == AVPlayerStatusFailed) {
NSLog(@"AVPlayer Failed");
loader.hidden = true;
} else if (_audioPlayer.status == AVPlayerStatusReadyToPlay) {
NSLog(@"AVPlayerStatusReadyToPlay");
[_audioPlayer play];
} else if (_audioPlayer.status == AVPlayerItemStatusUnknown) {
NSLog(@"AVPlayer Unknown");
}
[_audioPlayer removeObserver:self forKeyPath:@"status" context:nil];
}
}