Я использую AVPlayer для воспроизведения звука с URLстатус AVPlayer всегда AVPlayerStatusReadyToPlay
В ViewDidLoad:
self.playerItem = [AVPlayerItem playerItemWithURL:[NSURL URLWithString:imageText]];
self.player = [AVPlayer playerWithPlayerItem:playerItem];
[player addObserver:self forKeyPath:@"status" options:0 context:nil];
[player play];
наблюдателей
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object
change:(NSDictionary *)change context:(void *)context {
if (object == player && [keyPath isEqualToString:@"status"]) {
if (player.status == AVPlayerStatusReadyToPlay) {
//[playingLbl setText:@"Playing Audio"];
NSLog(@"fineee");
[playBtn setEnabled:YES];
} else if (player.status == AVPlayerStatusFailed) {
// something went wrong. player.error should contain some information
NSLog(@"not fineee");
NSLog(@"%@",player.error);
}
else if (player.status == AVPlayerItemStatusUnknown) {
NSLog(@"AVPlayer Unknown");
}
}
}
но игрок иногда застревает и не воспроизводить аудио, но затем статус AVPlayerStatusReadyToPlay. Он никогда не входит в AVPlayerStatusFailed или AVPlayerItemStatusUnknown. Поскольку я хочу обрабатывать ошибку AVPlayer, он также должен войти в них. Пожалуйста помоги!!
Супер спасибо :) Вы спаситель :) – Srikanth
СПАСИБО !!! Этот код помог мне! –
** Точно, что я искал, спасибо! – zpasternack