seekToTime не работает с активами Live в iOS 9
Метод SeekToTime не работает в iOS 9 во время воспроизведения видео в реальном времени. Даже после поиска видео не воспроизводится с искомой позиции. В предыдущих версиях iOS работает нормально. Ниже приведен код...
- (недействительными) loadVideo {
[player pause];
player = nil;
asset = [AVAsset assetWithURL:[NSURL URLWithString:@"http://playertest.longtailvideo.com/adaptive/wowzaid3/playlist.m3u8"]];
playerItem = [AVPlayerItem playerItemWithAsset:asset];
player = [AVPlayer playerWithPlayerItem:playerItem];
AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
playerLayer.frame = CGRectMake(20, 0, 600, 400);
[self.view.layer addSublayer:playerLayer];
[player play];
[self addPlayerTimeObserver];
}
- (IBAction) SeekToTimeInVideo: (id) отправитель { [пауза игрока];
[self.player seekToTime:CMTimeMakeWithSeconds(10.0, 25.0) toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero completionHandler:^(BOOL finished)
{
[player play];
}];
}
Любая идея?? Это ошибка в iOS 9.
1 ответ
Просто столкнулся с этой проблемой тоже. Я видел случай, когда AVPlayer был приостановлен, когда вы звоните -[AVPlayer seekToTime:]
, игрок будет переходить к концу самого последнего сегмента HLS.
Моим решением было позвонить [player play]
прямо перед звонком -[AVPlayer seekToTime:]
... Так что у вас будет это:
[self.player play]
[self.player seekToTime:CMTimeMakeWithSeconds(10.0, 25.0) toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero completionHandler:^(BOOL finished)
{
[player play];
}];