Domanda

come il titolo, quando suono filmato utilizzando MoviePlayer Vorrei sapere quando il playControllerBar sarà respingere, in modo che possa controllare il mio punto di vista aggiunto MoviePlayer. C'è qualcuno sa questo? Mi dica, grazie.

È stato utile?

Soluzione

Io non sono sicuro al 100% se ho capito bene. Suppongo che ciò che si vuole fare è:

  1. riprodurre un filmato
  2. aggiungere una visualizzazione personalizzata (overlay) sulla parte superiore della (corsa) film.

assumendo quello che ho appena scritto giù, io penso che si debba prendere in considerazione le seguenti cose:

  1. l'aggiunta di un modulo elettronico personalizzato in cima MPMoviePlayerViewController è (per quanto mi riguarda) solo consentito / possibile se i controlli del lettore standard sono impostati a nessuno:

    [moviePlayerViewController.moviePlayer setControlStyle:MPMovieControlStyleNone];
    
  2. aggiungendo il modulo elettronico personalizzato sulla parte superiore del lettore è fondamentalmente la stessa procedura addSubview come su qualsiasi altra vista

    [moviePlayerViewController.view addSubview:overlay];
    

il codice / concetto di cui sopra lavorerà a 3.2 e successivamente, come ho appena letto ora stai ovviamente in via di sviluppo per 3.0

piuttosto che l'eliminazione della prima parte della mia risposta Passo ora a spiegare come ottenere lo stesso effetto su 3.0

sul 3.0 è un po 'più complicato (come sapete sicuro che da ora). MPMoviePlayerController non è un controller di vista e funziona solo in fullscreen-mode. Una volta che il film inizia a giocare, il keyWindow modifiche ! così Noi facciamo uso di che implementando la seguente:

1) all'interno della vostra classe che incapsula la MPMoviePlayerController, iniziare ad ascoltare la UIWindowDidBecomeKeyNotification facendo quanto segue:

        [[NSNotificationCenter defaultCenter] addObserver: self 
                                             selector: @selector(keyWindowChanged:) 
                                                 name: UIWindowDidBecomeKeyNotification 
                                               object: nil];

2) withing tuo keyWindowChanged: Metodo puoi aggiungere la tua overlay, il seguente snipplet è esattamente come ho implementato è:

- (void)keyWindowChanged: (id) sender {

//NSLog(@"keyWindowChanged");
[[NSNotificationCenter defaultCenter] removeObserver: self name: UIWindowDidBecomeKeyNotification object: nil];
UIWindow *moviePlayerWindow = [[UIApplication sharedApplication] keyWindow];

[moviePlayerWindow addSubview: overlayController.view];
[overlayController performSelector:@selector(fadeIn)]; 

}

Di nuovo, questo funziona solo se il MovieControllMode è "nascosto" di fare questo:

[newMPController setMovieControlMode: MPMovieControlModeHidden];

Spero di poter aiutare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top