2

在我的应用程序中,我有多个视频,我希望当用户按下 MPMoviePlayerController 中的下一个或上一个按钮时,MPMoviePlayerController 应该是特定的歌曲。但问题是 MPMoviePlayerController 只有 SeekingForward 或 Backward 的通知。如何使用 MPMoviePlayerController 中的 FastForward 和 BackWard 按钮实现上一个和下一个功能。

4

1 回答 1

2

Apple 引入了名为AVQueuePlayer的新类,您可以一次播放多个视频,这个类值得使用,然后 MPMoviePlayerController 不支持播放多个电影。

AVQueuePlayer可从 IOS 4.1 及更高版本获得,它是 AVPlayer 的子类。如果你熟悉 AVPlayer

您可以通过调用更改当前正在运行的电影

[self.queuePlayer advanceToNextItem];

您可以在此处查看示例代码

您可以从这里下载示例应用程序

另一个想法(最坏的情况)。

注册通知

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

并将此函数添加到您的对象中:

-(void)moviePlayerPlaybackStateChanged:(NSNotification *)notification {
    MPMoviePlayerController *moviePlayer = notification.object;
    MPMoviePlaybackState playbackState = moviePlayer.playbackState;
    // ...
}

我怀疑你会发现你正在为这些按钮获得 MPMoviePlaybackStateSeekingForward 和 ...SeekingBackward 更新。

在此处查看详细信息

并为 MPMoviePlayerController 设置相应的 URL,或者使用相应的 URL 再次初始化 MPMoviePlayerController。

于 2012-08-06T07:18:32.563 回答