AVPlayerItem status AVPlayerStatusFailed при воспроизведении видео
Я реализовал воспроизведение видео для нескольких видео с AVPlayer
, При воспроизведении следующего видео иногда отображаются следующие сообщения об ошибках:
Ошибка Domain=AVFoundationErrorDomain Код =-11850 "Операция остановлена" UserInfo=0x1744796c0 {NSUnderlyingError=0x170055db0 "Операция не может быть завершена. (Ошибка OSStatus -12939.)", NSLocalizedFailureReason= Операция сервера неправильно настроена., NSL Остановился}
Я обнаружил, что ошибка 11850: AVErrorServerIncorrectlyConfigured
Который означает, что
HTTP-сервер, отправляющий медиа-ресурс, не настроен должным образом. Это может означать, что сервер не поддерживает запросы диапазона байтов.
Пожалуйста, помогите мне с этим делом, это мой код для воспроизведения видео
- (void)playVideoWithUrl:(NSString *) videoUrl
{
if (player != nil) {
[player.currentItem removeObserver:self forKeyPath:@"status"];
[player.currentItem removeObserver:self forKeyPath:@"playbackLikelyToKeepUp"];
}
AVURLAsset * asset = [[AVURLAsset alloc]initWithURL:[NSURL URLWithString:videoUrl]
options:nil];
AVPlayerItem * item = [[AVPlayerItem alloc]initWithAsset:asset];
// Add KVO to detech status of loading video
[item addObserver:self
forKeyPath:@"status"
options:0
context:nil];
// Add KVO to detech when playback is loading buffer successfully
[item addObserver:self
forKeyPath:@"playbackLikelyToKeepUp"
options:0
context:nil];
// Detect when playback completed
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(playerItemDidReachEnd:)
name:AVPlayerItemDidPlayToEndTimeNotification
object:[player currentItem]];
[player replaceCurrentItemWithPlayerItem:item];
[player play];
}