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