{"id":3702,"date":"2010-06-19T11:47:40","date_gmt":"2010-06-19T09:47:40","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=3702"},"modified":"2010-06-22T10:05:49","modified_gmt":"2010-06-22T08:05:49","slug":"t054-mostrare-un-video-durante-lavvio-delle-nostre-applicazioni-iphone","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/t054-mostrare-un-video-durante-lavvio-delle-nostre-applicazioni-iphone\/","title":{"rendered":"T#054 &#8211; Mostrare un video durante l&#8217;avvio delle nostre applicazioni iPhone"},"content":{"rendered":"<p><a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/tutorial-iphone-sdk-054-video-splash-02.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/tutorial-iphone-sdk-054-video-splash-02.jpg\" alt=\"tutorial iphone sdk 054 video splashscreen 02\" title=\"tutorial-iphone-sdk-054-video-splash-02\" width=\"81\" height=\"155\" class=\"alignleft size-full wp-image-3704\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/tutorial-iphone-sdk-054-video-splash-02.jpg 386w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/tutorial-iphone-sdk-054-video-splash-02-156x300.jpg 156w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/tutorial-iphone-sdk-054-video-splash-02-78x150.jpg 78w\" sizes=\"auto, (max-width: 81px) 100vw, 81px\" \/><\/a> 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&#8217;avvio del nostro piccolo programma, quindi, partir\u00e0 un video, che importeremo all&#8217;interno del progetto, direttamente nel player predefinito iPhone. Al termine verr\u00e0 aperta in automatico la nostra vista principale. Se vogliamo possiamo anche decidere di interrompere a nostro piacimento l&#8217;esecuzione del filmato tramite l&#8217;apposito tasto del player. Il tutorial \u00e8 molto semplice e di fatto non faremo altro che scrivere un po&#8217; di codice nel metodo &#8220;viewDidLoad&#8221; con l&#8217;aggiunta di qualche piccolo accorgimento.<!--more--><\/p>\n<h4>Prepariamo il nostro nuovo progetto Xcode<\/h4>\n<p>Apriamo Xcode, creiamo un nuovo progetto e dall&#8217;elenco de template disponibili scegliamo &#8220;View-based Application&#8221;. Diamo un nome alla nostra App, ad esempio &#8220;VideoSplash&#8221;, decidiamo dove salvare e proseguiamo.<\/p>\n<p>Per prima cosa dobbiamo importare il framework: <strong>MediaPlayer<\/strong>. Per farlo clicchiamo col pulsante destro del mouse su \u201cFrameworks\u201d dentro \u201cGroups &#038; Files\u201d, quindi su \u201cAdd\u201d e successivamente su \u201cExisting Frameworks\u2026\u201d. Si aprir\u00e0 una finestrella come quella mostrata nell\u2019immagine seguente:<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/02\/MediaPlayerFramework.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2086\" title=\"MediaPlayerFramework\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/02\/MediaPlayerFramework.png\" alt=\"MediaPlayer.Framework\" width=\"338\" height=\"534\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/02\/MediaPlayerFramework.png 338w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/02\/MediaPlayerFramework-189x300.png 189w\" sizes=\"auto, (max-width: 338px) 100vw, 338px\" \/><\/a><br \/>\n<\/center>\u00a0<\/p>\n<p>Selezioniamo quindi <strong>MediaPlayer.framework<\/strong> e premiamo su &#8220;Add&#8221;.<\/p>\n<h4>Scriviamo un po&#8217; di codice<\/h4>\n<p>Per completare correttamente l&#8217;importazione del framework, e poter sfruttare quindi quanto ha da offrire, dobbiamo includerlo da qualche parte. Apriamo il file &#8220;VideoSplashViewController.h&#8221; e aggiungiamo la seguente riga di codice subito sotto l&#8217;import dell&#8217;UIKit, quindi salviamo:<\/p>\n<pre lang=\"objc\" line=\"1\" escaped=\"true\">\r\n#import <MediaPlayer\/MediaPlayer.h>\r\n<\/pre>\n<p>Aggiungiamo ora un filmato al nostro progetto, nel nostro caso &#8220;filmato.m4v&#8221;, trascinandolo semplicemente nella cartella &#8220;Resources&#8221; e facendo attenzione di mettere la spunta su &#8220;Copy items into destination group&#8217;s folder (if needed)&#8221; in modo tale che venga di fatto copiato il file nella cartella del progetto.<\/p>\n<p>Apriamo quindi &#8220;VideoSplashViewController.m&#8221;. Scommentiamo il metodo &#8220;viewDidLoad&#8221; e modifichiamolo come segue:<\/p>\n<pre lang=\"objc\" line=\"1\" escaped=\"true\">\r\n- (void)viewDidLoad {\r\n\t[super viewDidLoad];\r\n\t\r\n\tNSString *resourcePath = [[NSBundle mainBundle]pathForResource:@\"filmato\" ofType:@\"m4v\"];\r\n\tNSURL *link = [NSURL fileURLWithPath:resourcePath];\r\n\tMPMoviePlayerController *movie = [[MPMoviePlayerController alloc] initWithContentURL:link];\r\n\t\r\n\t[movie setBackgroundColor:[UIColor blackColor]];\r\n\t[movie setScalingMode:MPMovieScalingModeAspectFit];\r\n\t\r\n\t[movie play];\t\r\n}\r\n<\/pre>\n<p>E&#8217; tutto! Non abbiamo altro da fare. Di seguito due screenshot del programma in azione.<\/p>\n<p>Alla prossima \ud83d\ude09<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/tutorial-iphone-sdk-054-video-splash-01.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/tutorial-iphone-sdk-054-video-splash-01.jpg\" alt=\"tutorial iphone sdk 054 video splashscreen 01\" title=\"tutorial-iphone-sdk-054-video-splash-01\" width=\"495\" height=\"257\" class=\"aligncenter size-full wp-image-3703\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/tutorial-iphone-sdk-054-video-splash-01.jpg 742w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/tutorial-iphone-sdk-054-video-splash-01-300x156.jpg 300w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/tutorial-iphone-sdk-054-video-splash-01-150x78.jpg 150w\" sizes=\"auto, (max-width: 495px) 100vw, 495px\" \/><\/a><br \/>\n<\/center><\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/tutorial-iphone-sdk-054-video-splash-02.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/tutorial-iphone-sdk-054-video-splash-02.jpg\" alt=\"tutorial iphone sdk 054 video splashscreen 02\" title=\"tutorial-iphone-sdk-054-video-splash-02\" width=\"386\" height=\"742\" class=\"aligncenter size-full wp-image-3704\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/tutorial-iphone-sdk-054-video-splash-02.jpg 386w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/tutorial-iphone-sdk-054-video-splash-02-156x300.jpg 156w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/tutorial-iphone-sdk-054-video-splash-02-78x150.jpg 78w\" sizes=\"auto, (max-width: 386px) 100vw, 386px\" \/><\/a><br \/>\n<\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Con questo nuovo tutorial di programmazione iPhone rispondiamo ad una richiesta di un nostro utente (fatta tramite&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[42,103,266,242,265,264],"class_list":["post-3702","post","type-post","status-publish","format-standard","hentry","category-tutorial-pratici","tag-framework","tag-mediaplayer","tag-splashscreen-video","tag-tutorial-xcode","tag-video-splash-iphone","tag-view-based-application"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/3702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=3702"}],"version-history":[{"count":6,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/3702\/revisions"}],"predecessor-version":[{"id":3758,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/3702\/revisions\/3758"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=3702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=3702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=3702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}