AVPlayerItem不能与多个AVPlayer实例关联,

-(IBAction)play:(id)sender { thumbImageView.alpha=0.0; NSString *stringvideo=[NSString stringWithFormat:@"http://streaming-service",[[NSUserDefaults standardUserDefaults]valueForKey:@"VideoIdselected"]]; NSString *videoURLString = stringvideo; NSURL *url = nil; url = [NSURL URLWithString:videoURLString]; self.moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:url]; if (self.moviePlayerController) { /* Save the movie object. */ [self setMoviePlayerController:self.moviePlayerController]; [self installMovieNotificationObservers]; /* Specify the URL that points to the movie file. */ [self.moviePlayerController setContentURL:url]; [self.moviePlayerController setMovieSourceType:MPMovieSourceTypeStreaming]; // for streaming self.moviePlayerController.controlStyle = MPMovieControlStyleEmbedded; // [self.videoPlayer setMovieSourceType:MPMovieSourceTypeStreaming]; // self.moviePlayerController.shouldAutoplay = YES; [self.moviePlayerController.view setFrame: CGRectMake(0, 0, 320,160)]; [self.moviePlayerController setFullscreen:NO animated:YES]; [self.moviePlayerController view].backgroundColor = [UIColor lightGrayColor]; [self.view addSubview:self.moviePlayerController.view]; [self.view bringSubviewToFront:self.moviePlayerController.view]; [self.moviePlayerController prepareToPlay]; //self.moviePlayerController.useApplicationAudioSession = NO; [self.moviePlayerController play]; } } 

嗨,我想在我的iPhone应用程序streamvideo。 该代码播放本地文件,但崩溃时出现错误“终止应用程序由于未捕获的exception”NSInvalidArgumentException“,原因:”一个AVPlayerItem不能与多个AVPlayer实例关联“用于从服务器streamvideo。 此外,链接streamvideo绝对好的浏览器,但是我不能在应用程序中播放video。 请帮忙 。 谢谢

有同样的问题,尝试设置后,像下面的SourceType设置ContentURL,

 moviePlayerController_ = [[MPMoviePlayerViewController alloc] init]; moviePlayerController_.movieSourceType = MPMovieSourceTypeStreaming; [moviePlayerController_.moviePlayer setContentURL:url]; 

资料来源: devforums.apple.com/message/467199

这可能是一个MovieSourceType的问题; 你正在播放本地文件,但使用MPMovieSourceTypeStreaming ; 只需修改types,然后重试

我已经使用moviePlayerController.movi​​eSourceType = MPMovieSourceTypeUnknown其作品为我..试试吧..

首先你必须通知玩家你设定的video文件内容的来源types; 喜欢这个

这里有两种types的url。 如果url是这样的,你可以写这个函数

  NSString *aStr=@"http://www.my url like this.com/video/videos/review/Michale JACKSON AUDIENCE Comment.mp4"; aStr = [aStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

或(第二个)

 NSString *aStr=@"http://www.normal url.com/video.mp4" // after add your url string to this url NSURL *url=[NSURL URLWithString:aStr]; MPMoviePlayerViewController *MPlayer = [[MPMoviePlayerViewController alloc]init]; MPlayer.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming; [MPlayer.moviePlayer setContentURL:url]; [self presentMoviePlayerViewControllerAnimated:MPlayer]; 

不是对问题的直接回答,但是如果在尝试更新contentURL后出现此错误,则在解决问题之前先调用stop()。

 moviePlayerController.stop() moviePlayerController.movieSourceType = .File moviePlayerController.contentURL = newURL