2013-05-28 256 views
0

我想播放一個.mov文件一次,然後直接播放重複播放的第二個.mov文件。我試過使用睡眠和定時器,以及AVqueue播放器,我只是不能讓他們工作。有沒有辦法使用播放狀態或持續時間來播放視頻?使用MPMoviePlayerController連續播放電影

我使用MPMoviePlayer做他們兩個如下(沒有什麼複雜的)..

NSString *stringPath1 = [[NSBundle mainBundle] pathForResource:@"Movie1" ofType:@"mov"]; 
    NSURL *url1= [NSURL fileURLWithPath:stringPath1]; 
    mpc = [[MPMoviePlayerController alloc] initWithContentURL:url1]; 
    [mpc setMovieSourceType:MPMovieSourceTypeFile]; 

    mpc.controlStyle = MPMovieControlStyleNone; 
    mpc.view.frame = CGRectMake(-200, 100, 1152, 600); 

    mpc.repeatMode = MPMovieRepeatModeNone; 

    [self.view addSubview:mpc.view]; 
    [mpc play]; 


    NSString *stringPath2 = [[NSBundle mainBundle] pathForResource:@"Movie2" ofType:@"mov"]; 
    NSURL *url2= [NSURL fileURLWithPath:stringPath2]; 
    mpc2 = [[MPMoviePlayerController alloc] initWithContentURL:url2]; 
    [mpc2 setMovieSourceType:MPMovieSourceTypeFile]; 

    mpc.controlStyle = MPMovieControlStyleNone; 
    mpc.view.frame = CGRectMake(-200, 100, 1152, 600); 

    mpc.repeatMode = MPMovieRepeatModeOne; 

    [self.view addSubview:mpc.view]; 
    [mpc play]; 

我可以把什麼在這些代碼位之間,以使第二隻電影后的第一負載一個已經玩過?

謝謝。

回答

0

您應該嘗試MPMoviePlayerPlaybackStateDidChangeNotification註冊此通知,添加觀察者,一旦收到通知,您可以播放下一部電影。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerPlaybackStateChanged:) name:MPMoviePlayerPlaybackStateDidChangeNotification object:nil]; 
+0

謝謝。當我嘗試這個時,我只是遇到了SIGABRT錯誤,不知道爲什麼? –

+0

確保第一個MPMoviePlayer在嘗試分配第二個MPMoviePlayer之前完全發佈 –

+0

好吧,沒有SIGABRT但第二部電影仍然是我玩過的唯一一個 –

相關問題