2013-12-20 36 views
0

我已經使用此代碼來播放一些視頻。並想在完成比賽時收到事件。 但沒有使用通知中心獲取事件。iOS 7通知中心不叫

我試圖此代碼

NSString * str=[[NSBundle mainBundle]pathForResource:@"iGreet" ofType:@"m4v"]; 

    NSURL * url=[NSURL fileURLWithPath:str]; 

    MPMoviePlayerController * movieController=[[MPMoviePlayerController alloc]initWithContentURL:url]; 
    movieController.controlStyle=MPMovieControlStyleFullscreen; 
    [movieController.view setFrame:self.view.bounds]; 

    [movieController setMovieSourceType:MPMovieSourceTypeFile]; 
    movieController.shouldAutoplay=YES; 

    [self.view addSubview:movieController.view]; 
    [movieController setFullscreen:YES animated:YES]; 
    [movieController play]; 


    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(onStop:) 
               name:MPMoviePlayerPlaybackDidFinishNotification 
               object:movieController]; 

} 

    -(void)onStop:(NSNotification*)notification 
{ 


} 
+0

如果你正在傳遞對象,那麼你的方法應該有參數。將選擇器更改爲'onStop:' –

+0

檢查我的更新,但仍然不適用於我... onStop方法沒有被調用... – Jitendra

+0

您可以看看這個例子,看看它們是如何做的:[example](https:// developer .apple.com /庫/ IOS/samplecode/MoviePlayer_iPhone /簡介/ Intro.html)。 – sahara108

回答

0

這是從文檔的MPMoviePlayerController

當影片被在全屏模式 和完成用戶抽頭顯示不發送此通知。完成按鈕暫停播放,並且 使電影播放器​​退出全屏模式。要檢測此 方案,請註冊其他通知,如 MPMoviePlayerDidExitFullscreenNotification。

也許可以幫助你

+0

沒有這也是不工作... – Jitendra

1

更改爲:

[[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(onStop:) 
               name:MPMoviePlayerPlaybackDidFinishNotification 
               object:movieController]; 

-(void)onStop:(NSNotification*)notification 
{ 


} 

這對我的作品。

+0

這不是一個解決方案.. – Jitendra

+0

真的嗎?在我的項目中,它正常地被調用。 – sahara108