如何使用MPMoviePlayerController处理无效的url

时间:2017-05-04 07:58:00

标签: ios objective-c mpmovieplayercontroller

我正在使用MPMoviePlayerController在远程网址上播放视频的应用。当我重复使用播放器播放多个视频并且网址未指向视频时,控制器不会发回任何通知。我已经尝试过MPMoviePlayerPlaybackDidFinishNotification,MPMoviePlayerPlaybackStateDidChangeNotification和MPMoviePlayerLoadStateDidChangeNotification。他们都没有被发送。

我还试图做一个自定义超时功能,并调用播放器的停止功能,如下所示。但是,没有任何反应。 MPMoviePlayerController似乎已经死了,什么都不做。

[self performSelector:@selector(checkTimeout) withObject:theMovie afterDelay:15];

-(void) checkTimeout {
    [self.moviePlayer stop];
}

有没有人知道如何使用MPMoviePlayerController处理无效的网址?

2 个答案:

答案 0 :(得分:0)

我自己找到了一种解决方案。

似乎MPMoviePlayerController在播放多个网址时遇到问题。如果第二个网址未指向视频或无效,则播放器不会执行任何操作。所以,我最终为每个url创建了一个新的MPMoviePlayerController实例并监听MPMoviePlayerPlaybackDidFinishNotification。

答案 1 :(得分:0)

如果您没有收到有关无效网址的通知,那么您应该运行一个持续时间最长为(initialplaybacktime,0)的计时器,一旦您在此时间内未收到MPMoviePlayerReadyForDisplayDidChange notification,请生成错误视频无法播放。