我想多次重申视频中的几个场景。
在 iOS 4 中,我已经可以实现它并且它可以工作。在 iOS 5 中,代码不再以相同的方式工作。
下面是一个示例:
场景 1:从 15 秒到 30 秒开始。
场景 1 重复 5 次。
场景 2:从 45 秒到 55 秒开始。
场景 2 重复 3 次。
在 iOS 5 中,场景 1 重复了 5 次。场景 2 将不再播放。
这就是我为 iOS 4 解决的方法:
- (void)initMoviePlayer
{
// Some other stuff…
iterations = 5;
NSDictionary *currentScene = [allScenes objectAtIndex:currentSceneIndex];
moviePlayer.repeatMode = MPMovieRepeatModeOne;
// Scene start time
moviePlayer.initialPlaybackTime = [[currentScene objectForKey:@"StartTime"] intValue];
// Scene end time
moviePlayer.endPlaybackTime = [[currentScene objectForKey:@"EndTime"] intValue];
[moviePlayer play];
}
// Called by MPMoviePlayerPlaybackStateDidChangeNotification
- (void)playerStateChanged:(NSNotification*)notification
{
// Some other stuff…
if (counter == iterations)
{
currentSceneIndex++;
// Stop movie
[moviePlayer stop];
// Init movie player with next scene
[self initMoviePlayer];
}
else
{
counter++;
// Scene will repeat because of MPMovieRepeatModeOne
}
}