我试图让 MPMoviePlayerController 达到编程的 endPlaybackTime,然后重新分配初始、当前和结束时间并“恢复”播放
所以首先播放,比如说,从开始到 4 秒,停止/暂停,然后从 4 到 8 继续播放,等等......
但是在我重新分配 current、initial 和 endPlaybackTimes 并运行 [mplayer play] 后,视频会从最初的时间(开始到 4 秒)重新开始并播放到原来的结束时间,即使调试消息在第二次播放后确认了新的时间
NSURL *fileURL = [NSURL fileURLWithPath:filepath];
_mplayer3 = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];
_mplayer3.controlStyle = MPMovieControlStyleNone;
[_mplayer3.view setFrame: self.view.bounds];
[self.view insertSubview:_mplayer3.view belowSubview:_TopBrag];
_mplayer3.endPlaybackTime = 4.0;
[_mplayer3 setShouldAutoplay:NO];
[_mplayer3 prepareToPlay];
[_mplayer3 view].userInteractionEnabled=YES;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(parallaxDownDidFinish)
name:MPMoviePlayerPlaybackDidFinishNotification
object:_mplayer3];
[_mplayer3 play];
在结束通知上,创建了一个似乎可以正常工作的手势识别器。在手势识别器中:
_mplayer3.initialPlaybackTime=_mplayer3.endPlaybackTime;
_mplayer3.currentPlaybackTime=_mplayer3.endPlaybackTime;
_mplayer3.endPlaybackTime+=4.0;
if (_mplayer3.endPlaybackTime > _mplayer3.duration)
_mplayer3.endPlaybackTime = _mplayer3.duration;
[_mplayer3 play]
并且视频从 0 到 4 而不是 4 到 8 播放,即使播放后的 NSLogs 表明时间是所需的
感谢任何帮助