尝试播放临时目录中的视频时出现此错误:
NSString *tmpDir = [NSTemporaryDirectory() stringByAppendingString:@"/"];
NSString *url = [tmpDir stringByAppendingString:videoToPlay];
MPMoviePlayerController *player =
[[MPMoviePlayerController alloc]
initWithContentURL:[NSURL fileURLWithPath:url]];
为什么我收到此错误“AVPlayerItem一次只能占用玩家队列中的一个位置。”
代码是否正确?我错过了一些简单的东西吗?
答案 0 :(得分:5)
全部。按照这个答案找到这个问题的解决方案。 devforums.apple.com/message/467199
我正在使用IOS 5 beta 2。
答案 1 :(得分:2)
我尝试了在apple dev论坛中提供的各种解决方案。在我的情况下,有效的只是将源类型从流式传输更改为未知:
// player.movieSourceType = MPMovieSourceTypeStreaming;
player.movieSourceType = MPMovieSourceTypeUnknown;
答案 2 :(得分:1)
使用以下语句来避免此类错误。请记住,您使用的sdk是在NDA下。
[self.mPlayer.moviePlayer setControlStyle:MPMovieControlStyleDefault];
答案 3 :(得分:0)
尝试检查控件样式和源类型。 我得到这个错误,当更改源类型为unknow时(自动检测,也许)它是正确的。
答案 4 :(得分:0)
我得到了这个,因为我的movieSourceType参数无效,我认为你应该把MPMovieMediaTypeMask放在那里(视频/音频等),而是你应该放一个MPMovieSourceType。修复使它适合我
答案 5 :(得分:0)
在我的replaceCurrentItem
上使用AVQueuePlayer
时,这发生在我身上。
Apple声明您不应将此方法与AVQueuePlayer结合使用:https://developer.apple.com/documentation/avfoundation/avplayer/1390806-replacecurrentitemwithplayeritem
相反,我正在使用removeAllItems()
的AVPlayerItem值测试insert(AVPlayerItem, after: AVPlayerItem?)
和nil
。
iOS12 Swift 5。