sto creando un oggetto MPMoviePlayerController e lo streaming di un video in modalità a schermo intero.MPMoviePlayerController non rimuove vista quando si fa clic fatto
Sto usando un UIViewController per visualizzare la vista film.
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
//http://www.youtube.com/watch?feature=player_detailpage&v=ebeQaznNcmE
NSURL *url = [NSURL URLWithString:@"http://a1408.g.akamai.net/5/1408/1388/2005110405/1a1a1ad948be278cff2d96046ad90768d848b41947aa1986/sample_mpeg4.mp4"];
MPMoviePlayerController *mPlayer = [[MPMoviePlayerController alloc]initWithContentURL:url];
mPlayer.view.frame = gMainView.frame;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:mPlayer];
mPlayer.shouldAutoplay = YES;
mPlayer.controlStyle = MPMovieControlStyleFullscreen;
[gMainView addSubview:mPlayer.view];
[mPlayer prepareToPlay];
[mPlayer setFullscreen:YES animated:YES];
[mPlayer play];
}
- (void)moviePlayBackDidFinish:(NSNotification*)notification {
int reason = [[[notification userInfo] valueForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey] intValue];
if (reason == MPMovieFinishReasonPlaybackEnded) {
//movie finished playing
}
else if (reason == MPMovieFinishReasonUserExited) {
//user hit the done button
MPMoviePlayerController *moviePlayer = [notification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayer];
if ([moviePlayer respondsToSelector:@selector(setFullscreen:animated:)]) {
[moviePlayer.view removeFromSuperview];
}
[moviePlayer release];
}
else if (reason == MPMovieFinishReasonPlaybackError) {
//error
}
}
quando si fa clic fatto, il video visivo viene rimosso dallo schermo, ma i controlli non vengono rimossi dallo schermo e la vista non viene rimosso dallo schermo.
Il controllo fa venire a "// utente premere il pulsante fatto". Si fa eseguire il codice per rimuovere la vista da superview, ho controllato da tronchi aggiunta, ma i controlli non vengono rimossi dallo schermo e la vista non viene rimosso dallo schermo. Cosa sto sbagliando?
EDIT:
Se uso MPMoviePlayerViewController allora non ha nemmeno aspettare per me di premere Fine. Una volta completato il video, rimuove automaticamente la vista. Ma non lo voglio.
EDIT:
Se rimuovo "[MPlayer setFullscreen: SI animato: SI]" e poi quando si fa clic su Done, la vista viene completamente rimosso. Ma il video non viene visualizzato a schermo intero e la barra di stato diventa grigio, che è di nuovo ciò che non voglio.
si prendono molti passi per descrivere quello che non vuoi, ma, almeno per me, questo non ancora veramente affermare ciò che realmente vuole raggiungere. – Till
I controlli non vengono rimossi dallo schermo e la vista giocatore non viene rimossa dallo schermo. – Anand
Prova questa soluzione: http://stackoverflow.com/questions/6142571/mpmovieplayer-done-button-issue/6142685#6142685 – Till