T#058 – Avviare e visualizzare un video in modalità verticale [portrait]
Oggi una piccola chicca non documentata dell’SDK per iphone. Abbiamo visto come sia semplice visualizzare un video sul nostro melafonino, ma preferiremmo visualizzarlo in verticale piuttosto che orizzontale? Nessun problema. Esiste una funzione non documentata della classe MPMoviePlayerController che ci permette di visualizzare i video anche in modalità portrait.
Create il vostro progetto e aggiungere il framwork MediaPlayer. Non dimenticate di inserire anche
1 | #import <MediaPlayer/MediaPlayer.h> |
in testa alla classe che ospiterà i nostri video.
Io per questo esempio ho creato una piccola funzione
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | - (IBAction)playMovie:(NSString *)moviename movietype:(NSString*)movietype verticalplayer:(BOOL)vertical { NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:moviename ofType:movietype]isDirectory:NO]; MPMoviePlayerController *mp; mp = [[MPMoviePlayerController alloc] initWithContentURL: url]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:mp]; [mp play]; if (vertical) { [mp setOrientation: UIDeviceOrientationPortrait animated:NO]; } } |
Questa funzione accetta come parametri il nome del file video, la sua estensione e un boolean che indica se vogliamo visualizzare il video in orizzontale o verticale.
Aggiungete al vostro progetto un file video (io ho usato un file che si chiama 0009.m4v) e create un semplice pulsante che esegua questa funzione:
1 2 3 4 | - (IBAction)buttonPressed:(id)sender { [self playMovie:@"0009" movietype:@"m4v" verticalplayer:TRUE]; } |
A questo punto potreste già eseguire il programma e godervi il video in verticale.

Questo è un piccolo spezzone di codice, io ho aggiunto al mio progetto alcune funzionalità di cui ancora non abbiamo parlato, ma chi è curioso può scaricare l’intero sorgente da qui.
Un ringraziamento a Gianpaolo Fragale per aver, a sua insaputa
, fornito il video usato in questo esempio.


















E far vedere i video senza visualizzare il player come succede nei giochi?