0

我不确定要添加什么代码,所以请告诉我您需要查看的内容。我正在MPMoviePlayerWidevine. 我遇到了电影停止播放的问题。我检查MoviePlaybackStates并且很少,如果有的话。大多数时候它只是停止。我想相信它与缓冲有关。我正在播放视频,widevine 回调没有给我任何错误。任何想法我可以如何追踪这个或问题是什么?

4

1 回答 1

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);

}
于 2015-06-10T09:36:43.070 回答