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