如何判断MoviePlayerController是否曾经玩过?

时间:2013-04-19 18:58:11

标签: ios objective-c mpmovieplayercontroller

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

3 个答案:

答案 0 :(得分: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

 }

答案 1 :(得分:0)

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

希望这会有所帮助......

答案 2 :(得分:0)

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

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

以及该计划中的其他地方:

if ([[NSUserDefaults standardUserDefaults] boolForKey:@"videoViewed"]) {
  do stuff
}