2013-05-28 128 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但第二部电影仍然是我玩过的唯一一个 –

相关问题