fre*_*ler 15 objective-c mpmovieplayercontroller ios ios9 ios8.4
设置initialPlaybackTime属性后,视频(HTTP流)仍然从头开始播放.
相同的代码在iOS <= 8.3中运行良好:
self.moviePlayer.initialPlaybackTime = self.lastPlaybackTime;
[self.moviePlayer play];
Run Code Online (Sandbox Code Playgroud)
这对我的作品,基本上你需要setCurrentPlaybackTime当电影开始播放,但你还需要一个标志playbackDurationSet被设置为NO,当你现在movieplayer当电影seeked到playbackDuration首次将它设置为YES .
注意:此标志是必需的,因为当您从搜索清理器中搜索影片时,将使用MPMoviePlaybackStatePlaying的playbackState触发 moviePlayerPlaybackStateChanged.
BOOL playbackDurationSet = NO;
- (void)moviePlayerPlaybackStateChanged:(NSNotification*)notification
{
MPMoviePlayerController* player = (MPMoviePlayerController*)notification.object;
switch ( player.playbackState ) {
case MPMoviePlaybackStatePlaying:
if(!playbackDurationSet){
[self.moviePlayer setCurrentPlaybackTime:yourStartTime];
playbackDurationSet = YES;
}
break;
}
}
- (void)moviePlayerPresented
{
playbackDurationSet = NO;
}
Run Code Online (Sandbox Code Playgroud)