在iPhone上同时播放两个视频

5
我想在iPhone上同时播放两个视频。
在iPhone上有两种播放视频的方式,一种是使用AVQueuePlayer。但是在这个控制器中,我不知道如何获取视频播放完成的时间,并重新启动视频。
另一种方法是使用MPMoviePlayerController。但是在这个控制器中,我不知道如何在特定时间点寻找视频,而且它不能像AVQueuePlayer一样同时播放两个视频。
作为解决方案,我正在使用AVQueuePlayer来播放视频,但是否有人能帮助我重新启动视频并获取检测视频结束点的方法?或者知道其他API可以做到这一点。
提前感谢。

如果我理解得不对,请纠正我。您想播放一个视频,当它结束时,您想播放另一个视频。是这样吗? - visakh7
3个回答

1

我已经找到了播放两个视频的解决方案。您可以使用AVQueuePlayer来播放视频。使用此控制器,您可以同时播放两个视频。


1
这是错误的答案。苹果文档:AVQueuePlayer对象按顺序播放多个项目。虽然您可以创建多个MPMoviePlayerController对象并在界面中呈现它们的视图,但一次只能有一个电影播放器播放其电影。http://developer.apple.com/library/mac/#documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/02_Playback.html#//apple_ref/doc/uid/TP40010188-CH3-SW4 http://developer.apple.com/library/ios/#documentation/mediaplayer/reference/MPMoviePlayerController_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006953-CH3-DontLinkElementID_2 - san

0

Ecco说得对。由于硬件限制,你一次只能播放一个视频。

然而,如果你想要实现7KV7的建议,即一个视频结束后触发另一个视频的播放,你可以按照以下方式使用MPMoviePlayerPlaybackDidFinishNotification通知:

 - (void)viewDidLoad {
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(firstMoviePlayerDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
    }

    - (void)moviePlayerDidFinish:(NSNotification *)notification {
        if (firstMovie) {
           [moviePlayerController setContentURL:nextMovieURL];
           [moviePlayerController play];
        } else {
           [[NSNotificationCenter defaultCenter] removeObserver:self];
        }
    }

此外,请注意您可以通过检查currentPlaybackTime属性在MPMoviePlayerController实例中找到当前播放点。

0
我在想这是否可能。iPhone上的视频播放是通过硬件视频解码器实现的。我真的认为硬件解码器一次只能处理一个视频流。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接