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];
}];
Другие вопросы по тегам