我想阻止用户执行操作,直到他们至少按下 MoviePlayerController 上的播放。了解他们是否一直观看视频或观看了多远也会很有帮助。
问问题
71 次
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 回答