錯誤的電影,我成立了電影播放這樣的:不能暫停循環,因爲的MPMoviePlayerController
self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:@"whatever.mp4"];
self.moviePlayer.controlStyle = MPMovieControlStyleNone;
self.moviePlayer.shouldAutoplay = YES;
[self.moviePlayer prepareToPlay];
self.moviePlayer.repeatMode = MPMovieRepeatModeOne;
self.moviePlayer.view.frame = self.container.bounds;
self.moviePlayer.view.userInteractionEnabled = NO;
[self.container addSubview:self.moviePlayer.view];
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(moviePlayBackDidFinish:) name: MPMoviePlayerPlaybackStateDidChangeNotification
object: self.moviePlayer];
的通知是必要的,以保持玩家的循環,因爲REPEATMODE是幾乎無用的(視頻會重複一次或兩次,也許幾次取決於中國大米的價格,然後停止)。所以要保持視頻循環,你必須這樣做:
- (void)moviePlayBackDidFinish:(NSNotification *)note {
if (note.object == self.moviePlayer) {
NSInteger reason = [[note.userInfo objectForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey] integerValue];
if (reason == MPMovieFinishReasonPlaybackEnded) {
[self.moviePlayer play];
}
}
}
現在的問題是,我需要能夠暫停視頻。出於某種原因,到
[self.moviePlayer pause];
結果通知調用與理由解僱== MPMovieFinishReasonPlaybackEnded即使文檔中明確指出這一點:
Constants
MPMovieFinishReasonPlaybackEnded
The end of the movie was reached.
Available in iOS 3.2 and later.
Declared in MPMoviePlayerController.h.
在電影的結尾沒有達到。我只是叫暫停:。所以通知被觸發,因此電影再次播放,否定了暫停動作。
所以你可以看到問題。如何成功暫停循環視頻?
爲什麼不跟蹤通知是由暫停按鈕觸發還是由循環結束使用BOOL變量觸發? – ManicMonkOnMac
如何?就像我說的是視頻結束還是暫停被稱爲MPMovieFinishReasonPlaybackEnded的原因。 – soleil