2016-02-10 84 views
1

在播放實況視頻時,SeekToTime方法在iOS 9中不起作用。即使在尋找之後,視頻也不會從尋求的位置播放。 在以前的iOS版本中,它工作正常。 以下是代碼...seekToTime不適用於iOS中的實時資產9

- (無效)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中的一個bug。

+0

你是怎麼解決這個問題? – abhi1992

回答

1

剛剛遇到過這個問題。我看到的情況是,如果AVPlayer在您撥打-[AVPlayer seekToTime:]時暫停,玩家將跳到最近HLS段的末尾。

我的解決辦法調用-[AVPlayer seekToTime:]前有權要求[player play]...所以你也會有這樣的:

[self.player play] 
[self.player seekToTime:CMTimeMakeWithSeconds(10.0, 25.0) toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero completionHandler:^(BOOL finished) 
{ 
    [player play]; 
}]; 
相關問題