Instalado o Xcode 4.5, MPMoviePlayerController não funciona mais
Pergunta
Fiquei muito feliz em ver que, ao "atualizar" para o Xcode 4.5, nenhum dos vídeos do meu aplicativo é reproduzido.
Geralmente eu faço algo assim:
self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:[self getBundleClip:@"theVideo"]];
self.moviePlayer.controlStyle = MPMovieControlStyleNone;
self.moviePlayer.shouldAutoplay = YES;
self.moviePlayer.repeatMode = MPMovieRepeatModeOne;
self.moviePlayer.view.frame = self.container.frame;
self.moviePlayer.view.userInteractionEnabled = NO;
[self.container addSubview:self.moviePlayer.view];
- (NSURL*)getBundleClip:(NSString*)clip
{
NSBundle *bundle = [NSBundle mainBundle];
NSString *moviePath = [bundle pathForResource:clip ofType:@"mp4"];
return [NSURL fileURLWithPath:moviePath];
}
Novamente, tudo funcionou perfeitamente antes de atualizar o Xcode para 4.5.Alguém mais tem esse problema?
Eu também recebo esta saída:
[MPAVController] Autoplay: Disabling autoplay for pause
[MPAVController] Autoplay: Disabling autoplay
Solução
Não sei por que ele não está sendo reproduzido especificamente, mas parece que o comportamento é diferente dependendo de qual versão do iOS SDK você constrói.Olhe para a MPMoviePlayerController
documentação.
Em particular, você pode tentar ligar para o prepareToPlay
método no reprodutor de filmes.
Outras dicas
Suponho que você o defina dentro da função?
se você usa ARC, você deve manter MPMoviePlayerController
Adicione-o ao arquivo de interface!
@property(nonatomic, strong) MPMoviePlayerController *moviePlayer;