0

我想播放一个 .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];

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

谢谢。

4

1 回答 1

0

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

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerPlaybackStateChanged:) name:MPMoviePlayerPlaybackStateDidChangeNotification object:nil];
于 2013-05-28T03:35:30.123 回答