0

我想阻止用户执行操作,直到他们至少按下 MoviePlayerController 上的播放。了解他们是否一直观看视频或观看了多远也会很有帮助。

4

3 回答 3

1

在某些时候注册播放通知,如下所示:

[[NSNotificationCenter defaultCenter] addObserver:self 
    selector:@selector(playbackStateChanged) 
    name:MPMoviePlayerPlaybackStateDidChangeNotification object:nil];

然后,在playbackStateChanged 中,您可以用一些BOOL 表示您已经播放了视频:

 - (void) playbackStateChanged {

   if(moviePlayerController.playbackState == MPMoviePlaybackStatePlaying){
     hasPlayed = YES; //BOOL value
   }// reading the playback

 }
于 2013-04-19T19:19:40.130 回答
0

您还可以以持久的方式保存状态,因此用户不必在每个应用程序会话中查看视频:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"videoViewed"];

和程序中的其他地方:

if ([[NSUserDefaults standardUserDefaults] boolForKey:@"videoViewed"]) {
  do stuff
}
于 2013-04-19T19:25:00.497 回答
0

您可以设置一个名为 countOfTimesButtons 的变量。您可以在播放按钮上有一个 IBAction,当它被点击时,您可以增加按下的 countOfTimesButtons。如果 countOfTimesButtons 大于 0,您可以根据自己的情况做一些事情。

希望这可以帮助...

于 2013-04-19T19:12:41.480 回答