从缓冲停止MPMoviePlayer恢复

时间:2015-03-19 15:25:25

标签: ios video streaming playing widevine

我不确定要添加的代码,所以请告诉我您需要查看的内容。我将MPMoviePlayerWidevine结合使用。我有一个电影停止播放的问题。我检查MoviePlaybackStates并且很少,如果有的话。大部分时间它只是停止。我想相信它与缓冲有关。我正在播放视频,而广泛的回调让我没有错误。我有什么想法可以追踪这个或者问题是什么?

1 个答案:

答案 0 :(得分:0)

您应该关注loadState而不是playbackState。 这样做的方法是观察MPMoviePlayerLoadStateDidChangeNotification通知,看看缓冲是如何进行的。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(loadStateChanged:) name:MPMoviePlayerLoadStateDidChangeNotification object:nil];

在初始化播放器之前的某个地方。

-(void)loadStateChanged:(NSNotification *)notif
{

    NSString *loadState=@"";
    switch (self.player.loadState) {
        case MPMovieLoadStateUnknown: {
            loadState=@"MPMovieLoadStateUnknown";

            break;
        }
        case MPMovieLoadStatePlayable: {
            loadState=@"MPMovieLoadStatePlayable";

            break;
        }
        case MPMovieLoadStatePlaythroughOK: {
            loadState=@"MPMovieLoadStatePlaythroughOK";

            break;
        }
        case MPMovieLoadStateStalled: {

            loadState=@"MPMovieLoadStateStalled";
            break;
        }

    }
NSLog(@"%@", loadState);

}