ios ipad cocos2d-iphone mpmovieplayercontroller

Recibí el mensaje "ADVERTENCIA: en condiciones normales,_fillInQueueWithExtraSpace:.." y la rotación de MPMoviePlayer no funciona en iPad IOS 5.1



cocos2d-iphone mpmovieplayercontroller (1)

Agregue esta línea de código después de crear Player Object. jugador = [self.theMovie moviePlayer]; player.controlStyle = MPMovieControlStyleNone;

Es necesario en la versión inferior de iOS 6.0. Puede ser útil.

[jugador prepareToPlay];

Es mi primera publicación, y puede ser que parezca incorrecta. Entonces, tengo que hacer rotación en cocos2d en el iPad (5.1) Uso 2 videos diferentes para cada orientación. Y ahi tengo 2 problemas:

  1. La aplicación comienza en modo vertical y reproduce video normalmente. Llamo (reproduzco) el video 5-10 veces, cuando finaliza el video giro el simulador. La vista gira, PERO cuando llamo (reproduzco) video - muestra una pantalla blanca y el siguiente mensaje:

    "ADVERTENCIA: en condiciones normales, _fillInQueueWithExtraSpace: ignoreExistingItems: no se debe volver a ingresar".

    Luego, si giro la pantalla de nuevo (varias veces) y la reproduzco en modo horizontal, reproduce bien el video. También viceversa. Cuando comienzo desde el modo paisaje

  2. El problema de rotación de la vista. Cuando giro la vista hacia el paisaje izquierdo / derecho (desde el retrato), no puedo girar la vista hacia atrás. Entonces puedo rotar solo en sentido horario o antihorario. ¿Como arreglarlo?

-(id) init { pathToVideoP = [[NSBundle mainBundle] pathForResource:@"video_portrait" ofType:@"mp4"]; pathToVideoL = [[NSBundle mainBundle] pathForResource:@"video_landscape" ofType:@"mp4"]; theMovieP = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:pathToVideoP]]; theMovieL = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:pathToVideoL]]; } -(void) playVideoButtonClicked { movieButton.visible = FALSE; if (sharedManager.isPortrait){ theMovie = theMovieP; } else { theMovie = theMovieL; } [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:[theMovie moviePlayer]]; CGSize size = [[CCDirector sharedDirector] winSize]; [[[CCDirector sharedDirector] openGLView] addSubview:theMovie.view]; player = [self.theMovie moviePlayer]; player.controlStyle = MPMovieControlStyleNone; [theMovie moviePlayer].view.backgroundColor = [UIColor whiteColor]; theMovie.view.frame = CGRectMake(0, 0, size.width, size.height); if (sharedManager.isPortrait) { CGAffineTransform transform = player.view.transform; player.view.transform = transform; } else if (sharedManager.changeOrientation) { CGAffineTransform transform = player.view.transform; transform = CGAffineTransformRotate(transform, (-M_PI/2 )); player.view.transform = transform; } sharedManager.changeOrientation = NO; player.backgroundView.backgroundColor = [UIColor whiteColor]; theMovie.view.backgroundColor = [UIColor whiteColor]; player.view.userInteractionEnabled = NO; player.scalingMode = MPMovieScalingModeNone; [player play]; } -(void) moviePreloadDidFinish:(id)sender { } -(void) movieFinishedCallback:(NSNotification*) aNotification { theMovie = [aNotification object]; [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie]; [player stop]; [theMovie.view removeFromSuperview]; movieButton.visible = TRUE; }