Pergunta

Preciso ter a possibilidade de reproduzir mais de um vídeo em um aplicativo.

Infelizmente, na segunda vez que pressiono o jogo, o vídeo parece piscando.

Eu uso apenas este código para jogar vide

Nsurl *url = [[[NSURL aloc] initfileurlwithPath: [[NSbundle mainbundle] pathForResource:@"filme" ofttype:@"m4v"]]] autorlease];

MpmovieplayerController *mp = [[mpmovieplayerController aloc] initwithContenturl: url];

mp.MovieCOntrolMode = mpMoVieCOntrolModEDefault;

MP Play];

MoviePlayer = MP;

Release MP];

Alguém pode me dizer onde pode ser o problema? Desde já, obrigado!

Atualização 1: Parece que a maçã MoviePlayer Exemplo tem o mesmo problema.

Foi útil?

Solução

Você também pode fazer isso definindo o tempo inicial de reprodução para -1,0 antes de chamar a função de reprodução

mp.initialPlaybackTime = -1.0;

Coloque este código antes que seu método de reprodução seja chamado.

Outras dicas

Eu tive esse problema e o resolvi usando o sistema de notificação para executar um retorno de chamada depois que o MPMoviePlayerController termina de reprodução e liberando o objeto do jogador lá.

Adicione uma notificação antes de fazer o filme:

NSURL *url = [[[NSURL alloc]initFileURLWithPath:[[NSBundle mainBundle]pathForResource:@"Movie" ofType:@"m4v"]] autorelease];

MPMoviePlayerController *mp = [[MPMoviePlayerController alloc]initWithContentURL:url];

mp.movieControlMode = MPMovieControlModeDefault;

//***Add this line***
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinished:) name:MPMoviePlayerPlaybackDidFinishNotification object:mp];

[mp play];

Em seguida, adicione o método de retorno de chamada,

-(void)myMovieFinished:(NSNotification*)aNotification
{
    MPMoviePlayerController *moviePlayer = [aNotification object];
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerDidFinishNotification object:moviePlayer];
    [moviePlayer release];
}

Ele costuma que a única solução é ... para fazer o aplicativo para 3.1

Eu também acho que a execução no OS 3.1 ou a versão posterior do simulador pode ser tocada bem. Não parece piscando. Mas quando eu adicionar

initialPlaybackTime = -1.0

Também jogará bem no OS 3.0.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top