Nascondi MPMoviePlayerController mentre i nuovi carichi di video
-
30-09-2019 - |
Domanda
Ho un app iPad che ha 4 pulsanti sul lato sinistro che corrisponde a 4 diversi video clip. Quando un utente tocca il video che vogliono vedere, appare sul lato destro. Sono voler a comparire per essere carico (come se fosse in streaming su internet). Ho aggiunto l'UIActivityIndicator al centro del fotogramma video nero e hanno un filo che pause di 3 secondi. Tuttavia, il giocatore che contiene il video precedente non scompare. Si blocca solo l'ultimo fotogramma del video precedente per 3 secondi (che nascondono l'indicatore di attività) e poi il nuovo appare il video.
Tutte le idee su come rendere il giocatore temporaneamente essere nascosti? Grazie per qualsiasi aiuto. Ecco il mio codice:
-(IBAction) videoButton1{
[player stop];
[player release];
[self.activityIndicator startAnimating];
NSString *url = [[NSBundle mainBundle] pathForResource:@"video1" ofType:@"mov"];
[self setupVideoPlayer:url];
}
-(void) setupVideoPlayer: (NSString *) url{
player = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:url)];
player.view.frame = CGRectMake(487, 205, 478, 320);
[self.view addSubview:player.view];
[NSThread sleepForTimeInterval:3.0];
self.activityIndicator stopAnimating];
[player play];
}
Soluzione
È possibile impostare la struttura del vostro lettore a una vista che si può fare in IB oa livello di programmazione, invece di fare un CGRectMake ogni volta.
self.player.view.frame = self.viewForMovie.bounds;
self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
Poi, nel tuo "videoButton1" è possibile impostare l'alfa della vista per 0
viewForMovie.alpha = 0;
E nel tuo "setupVideoPlayer" è possibile modificare la parte posteriore alfa a 1.