2015-08-24 129 views
0

我想在單獨視圖控制器中播放視頻,我可以播放/暫停或關閉視圖控制器。就我而言,我在我的應用程序中錄製了視頻並調用了這種委託方法,以便將該視頻保存到資產中,但我想在使用ALAssetsLibrary之前先播放該視頻。從臨時網址播放視頻iOS

- (void)captureOutput:(AVCaptureFileOutput *)captureOutput 
didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL 
     fromConnections:(NSArray *)connections 
       error:(NSError *)error 

而且TEMO URL即時得到的是:

file:///private/var/mobile/Containers/Data/Application/EA6D31AC-6CC3-4BDF-B874-BC6F30BA5677/tmp/output.mov 

我怎樣才能播放該視頻在接下來的視圖控制器或在同一視圖控制器?

我嘗試:

MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:outputFileURL]; 
     player.view.frame = CGRectMake(184, 200, 400, 300); 
     [self.view addSubview:player.view]; 
     [player play]; 

PS:這是顯示一個黑色的屏幕區域而非實際播放這部影片。

回答

0

前幾天我有同樣的問題。最終,我在視頻準備好播放之前即將調用播放方法。所以,在調用[player play]之前添加這個。只要您的視頻在MPMoviePlayerController中播放,就會通知您。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoPlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:player]; 

然後設置觀察員:

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

[[NSNotificationCenter defaultCenter]removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:nil]; 

} 

這爲我工作。

希望它有幫助。