使用MPMoviePlayerController连续播放电影

时间:2013-05-28 01:27:01

标签: ios objective-c mpmovieplayer

我想要播放.mov文件一次,然后在播放第二个重复播放的.mov文件后直接播放。我试过使用睡眠和计时器,以及AVqueue播放器,我只是不能让他们中的任何一个工作。有没有办法使用playbackState或持续时间播放视频?

我正在使用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];

我可以在这些代码之间加入什么,以便第二部电影只在第一部电影播放完毕后加载?

感谢。

1 个答案:

答案 0 :(得分:0)

您应该尝试MPMoviePlayerPlaybackStateDidChangeNotification注册此通知,添加观察者,一旦收到通知,您就可以播放下一部电影。

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