T#054 – Mostrare un video durante l’avvio delle nostre applicazioni iPhone
Con questo nuovo tutorial di programmazione iPhone rispondiamo ad una richiesta di un nostro utente (fatta tramite il nostro forum), che ci chiede come poter mostrare un video durante il caricamento della sua applicazione. Una sorta di splashsreen video se vogliamo. All’avvio del nostro piccolo programma, quindi, partirà un video, che importeremo all’interno del progetto, direttamente nel player predefinito iPhone. Al termine verrà aperta in automatico la nostra vista principale. Se vogliamo possiamo anche decidere di interrompere a nostro piacimento l’esecuzione del filmato tramite l’apposito tasto del player. Il tutorial è molto semplice e di fatto non faremo altro che scrivere un po’ di codice nel metodo “viewDidLoad” con l’aggiunta di qualche piccolo accorgimento.
Prepariamo il nostro nuovo progetto Xcode
Apriamo Xcode, creiamo un nuovo progetto e dall’elenco de template disponibili scegliamo “View-based Application”. Diamo un nome alla nostra App, ad esempio “VideoSplash”, decidiamo dove salvare e proseguiamo.
Per prima cosa dobbiamo importare il framework: MediaPlayer. Per farlo clicchiamo col pulsante destro del mouse su “Frameworks” dentro “Groups & Files”, quindi su “Add” e successivamente su “Existing Frameworks…”. Si aprirà una finestrella come quella mostrata nell’immagine seguente:

Selezioniamo quindi MediaPlayer.framework e premiamo su “Add”.
Scriviamo un po’ di codice
Per completare correttamente l’importazione del framework, e poter sfruttare quindi quanto ha da offrire, dobbiamo includerlo da qualche parte. Apriamo il file “VideoSplashViewController.h” e aggiungiamo la seguente riga di codice subito sotto l’import dell’UIKit, quindi salviamo:
1 | #import <MediaPlayer/MediaPlayer.h> |
Aggiungiamo ora un filmato al nostro progetto, nel nostro caso “filmato.m4v”, trascinandolo semplicemente nella cartella “Resources” e facendo attenzione di mettere la spunta su “Copy items into destination group’s folder (if needed)” in modo tale che venga di fatto copiato il file nella cartella del progetto.
Apriamo quindi “VideoSplashViewController.m”. Scommentiamo il metodo “viewDidLoad” e modifichiamolo come segue:
1 2 3 4 5 6 7 8 9 10 11 12 | - (void)viewDidLoad { [super viewDidLoad]; NSString *resourcePath = [[NSBundle mainBundle]pathForResource:@"filmato" ofType:@"m4v"]; NSURL *link = [NSURL fileURLWithPath:resourcePath]; MPMoviePlayerController *movie = [[MPMoviePlayerController alloc] initWithContentURL:link]; [movie setBackgroundColor:[UIColor blackColor]]; [movie setScalingMode:MPMovieScalingModeAspectFit]; [movie play]; } |
E’ tutto! Non abbiamo altro da fare. Di seguito due screenshot del programma in azione.
Alla prossima


| Stampa l'articolo | Questo articolo è stato pubblicato da Staff devAPP il 19 giugno 2010 alle 11:47, ed è archiviato come Tutorial Pratici. Puoi seguire i commenti a questo post attraverso RSS 2.0. Puoi pubblicare un commento o segnalare un trackback dal tuo sito. |













circa 2 mesi fa
Veramente molto molto interessante !
Mi ero sempre chiesto come si facesse !
circa 2 mesi fa
Interessante e se volessimo importare un’immagine invece di un video?
circa 2 mesi fa
Se vuoi impostare un’immagine come splashscreen devi semplicemente trascinarne una nel tuo progetto di nome “Default” e formato PNG. Attenzione alla “D” maiuscola.
Deve essere esattamente:
Default.png
circa 2 mesi fa
c’è un unico problema… fra qualche giorno questo metodo non funzionerà piu… non dovremmo piu usare MPMoviePlayerController ma MPMoviePlayerViewController
:)
circa 2 mesi fa
vero, ma ancora non possiamo parlarne
Tra qualche giorno aggiorneremo
Personalmente credo che per un po’, anzichè una sostituzione vera e propria, dovremmo utilizzarli entrambi, per questioni di compatibilità delle app con i vari OS esistenti.. o rischieremmo di perdere una più o meno grossa fetta di utenti
circa 2 mesi fa
Salve,
volevo capire una cosa:
come mai non seve deallocare MPMoviePlayerController *movie, non si dovrebbe usare “release” da qualche parte, avendo usato initWithContentURL per “crearlo”?
grazie
circa 2 mesi fa
ps
scusate, volevo dire:
avendo usato “alloc”
circa 2 mesi fa
Salve a tutti volevo chiedere una cosa:
Quando avvio l’App automaticamente l’iPhone si mette in orizzontale e parte il video.
Ve volessi vederlo in Verticale come devo fare??
circa 2 mesi fa
Grazie della dritta, ma una domanda e se volessi che la Default.png si visualizzata per qualche secondo in più com potrei fare?
circa 2 mesi fa
Ciao a tutti,
urgenti.
volevo inserire la video splash su TAB BAR come devo fare???……ho trovato il vostro tutorial per la view base application ma non per la tab bar, dovevo finire un applicativo e se possibile ricevere notizie
grazie in anticipo
circa 2 mesi fa
In realtà apple sconsiglia quanto chiedi, però se proprio vuoi farlo qui trovi una nostra guida:
http://www.devapp.it/wordpress/tag/durata-splash-screen
circa 2 mesi fa
@luca La gestione della memoria è sempre importante, anche quando non lo specifichiamo direttamente e concentriamo le attenzioni su altri aspetti
circa 2 mesi fa
Per questo faremo un tutorial nei prossimi giorni
circa 2 mesi fa
Avevo chiesto un consiglio urgente, avete risposto a tutti e me no
grazie
circa 2 mesi fa
Ciao volevo chiedevi due cosine :
- Come faccio ad inserire una video splash in una tab bar application?
- NON riesco a cancellare la Default.png che ho inserito nonostante abbia cancellato l’immagine da xcode…..che faccio???
grazie
circa 2 mesi fa
@Daniel @iPhone Men avete provato a fare quando descritto in questo tutorial mettendo il codice nel viewDidLoad del vostro primo View Controller?
@iPhone Men cosa intendi che non riesci a cancellarla, nonostante tu l’abbia cancellata? O.o l’hai cancellata o no? XD
circa 2 mesi fa
Prova a cliccare su ” clean all target ” nel menù build e facci sapere !
circa 2 mesi fa
A RAGAZZETTO :
SEI UN GRANDE GRAZIE MILLE……ho imparato una cosa nuova molto utile
Grazie ancora
circa 2 mesi fa
A RAGAZETTO
se non ti disturbo troppo volevo chiederti un altra cosina :
Ho inserito in una tab bar una tabella, l’ho personalizzata come volevo, ma non riesco a personalizzare lo sfondo ( nn della cella) ma della tabella……..volevo eliminare lo sfondo grigio a righe di default ed inserire magari un immagine….come faccio?
Grazie in anticipo.
circa 2 mesi fa
http://www.devapp.it/wordpress/t058-avviare-e-visualizzare-un-video-in-modalita-verticale-portrait.html
circa 2 mesi fa
Ciao ragazzi,
ho problemi a far partire il video, ho scaricato IPHONE SDK 4.0 ed il video non parte si sente solo la musica.
COME POSSO RISOLVERE????…..
Grazie
circa 1 mese fa
sarebbe possibile aggiornare questa guida per iOS 4?
circa 1 mese fa
Mi associo alle richieste precedenti.
Se fosse possibile fare una guida identica per iOS4 ve ne saremo grati.
Grazie mille e buon lavoro.