我正在使用MPMoviePlayer播放电影。我希望能够播放电影,并允许用户只需按一下按钮就可以在电影中跳过一段时间。
我正在设置播放器的currentPlaybackTime属性,但它似乎不起作用。相反,无论我使用什么价值,它都只是从头开始统计电影。
此外,我通过单击按钮记录currentPlaybackTime属性,它总是返回一个大数字,但它有时会返回一个减号值?!这是预期的吗? (例如-227361412)
以下示例代码:
- (IBAction) playShake
{
NSLog(@"playback time = %d",playerIdle.currentPlaybackTime);
[self.playerIdle setCurrentPlaybackTime:2.0];
return;
}
答案 0 :(得分:4)
我已经成功地使用了这种跳过电影中某个点的方法。我怀疑你的问题实际上与视频本身有关。设置currentPlaybackTime时,MPMoviePlayer将跳转到视频中最近的关键帧。如果视频的关键帧很少,或者您只是向前跳了几秒钟,那么当您更改currentPlaybackTime时,这可能会导致视频从头开始重新开始。
答案 1 :(得分:2)
-currentPlaybackTime
返回一个NSTimeInterval (double)
,您将打印为已签名的int。这将导致意外的值。尝试转换为int (int)playerIdle.currentPlaybackTime
或打印双%1.3f
。