iphone ios video avplayer

iphone - avplayer windows



Un AVPlayerItem no puede asociarse con más de una instancia de AVPlayer '' (5)

Puede ser un problema con MovieSourceType ; está reproduciendo un archivo local pero utilizando MPMovieSourceTypeStreaming ; solo modifica el tipo y vuelve a intentarlo

-(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]; } }

Hola, estoy intentando transmitir un video en mi aplicación para iPhone. El código reproduce un archivo local pero se bloquea con un error "Terminar aplicación debido a una excepción no detectada ''NSInvalidArgumentException'', razón: ''Un AVPlayerItem no puede asociarse con más de una instancia de AVPlayer''" cuando se usa para transmitir un video desde un servidor. Además, el enlace transmite el video absolutamente bien en un navegador pero, sin embargo, no puedo reproducir el video en la aplicación. Por favor ayuda . Gracias


Si tuviera el mismo problema, intente configurar ContentURL después de establecer SourceType como se muestra a continuación,

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

Fuente: devforums.apple.com/message/467199


he utilizado moviePlayerController.movieSourceType = MPMovieSourceTypeUnknown. Me funciona ... pruébalo.


En primer lugar, debe informar al jugador sobre el tipo de fuente con el que estableció el contenido del archivo de video; Me gusta esto

Aquí hay dos tipos de URL; si la url es así, escribe esta función

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

o (segundo)

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


No es una respuesta directa a la pregunta, pero si obtiene este error después de intentar actualizar contentURL, llamar a stop () antes de resolver el problema.

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