-(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];
}
}
Hi I am trying to stream a video on my iphone app. The code plays a local file but crashes with an error " Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'An AVPlayerItem cannot be associated with more than one instance of AVPlayer'" when used to stream a video from a server. Also the link streams the video absolutely fine in a browser but however i am not able to play the video in the app. Please Help . Thanks
Had same issue, try setting ContentURL after Setting the SourceType like below,
moviePlayerController_ = [[MPMoviePlayerViewController alloc] init];
moviePlayerController_.movieSourceType = MPMovieSourceTypeStreaming;
[moviePlayerController_.moviePlayer setContentURL:url];