{"id":3776,"date":"2010-06-26T12:23:49","date_gmt":"2010-06-26T10:23:49","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=3776"},"modified":"2010-06-26T12:39:17","modified_gmt":"2010-06-26T10:39:17","slug":"t058-avviare-e-visualizzare-un-video-in-modalita-verticale-portrait","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/t058-avviare-e-visualizzare-un-video-in-modalita-verticale-portrait\/","title":{"rendered":"T#058 &#8211; Avviare e visualizzare un video in modalit\u00e0 verticale [portrait]"},"content":{"rendered":"<p>Oggi una piccola chicca non documentata dell&#8217;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 <strong>MPMoviePlayerController<\/strong> che ci permette di visualizzare i video anche in modalit\u00e0 portrait.<!--more--><\/p>\n<p>Create il vostro progetto e aggiungere il framwork MediaPlayer. Non dimenticate di inserire anche<\/p>\n<pre lang=\"objc\" line=\"1\" escaped=\"true\">\r\n#import <MediaPlayer\/MediaPlayer.h>\r\n<\/pre>\n<p>in testa alla classe che ospiter\u00e0 i nostri video.<\/p>\n<p>Io per questo esempio ho creato una piccola funzione<\/p>\n<pre lang=\"objc\" line=\"1\" escaped=\"true\">\r\n- (IBAction)playMovie:(NSString *)moviename movietype:(NSString*)movietype verticalplayer:(BOOL)vertical\r\n{\r\n\tNSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:moviename ofType:movietype]isDirectory:NO];\r\n\r\n\tMPMoviePlayerController *mp;\r\n\tmp = [[MPMoviePlayerController alloc] initWithContentURL: url];\r\n\r\n\t[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:mp];\r\n\r\n\t[mp play];\r\n\r\n\tif (vertical) {\r\n\t\t[mp setOrientation: UIDeviceOrientationPortrait animated:NO];\r\n\t}\r\n}\r\n<\/pre>\n<p>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.<\/p>\n<p>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:<\/p>\n<pre lang=\"objc\" line=\"1\" escaped=\"true\">\r\n- (IBAction)buttonPressed:(id)sender\r\n{\r\n\t[self playMovie:@\"0009\" movietype:@\"m4v\" verticalplayer:TRUE];\r\n}\r\n<\/pre>\n<p>A questo punto potreste gi\u00e0 eseguire il programma e godervi il video in verticale.<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/mpMediaPlayerController.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3780\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/mpMediaPlayerController-156x300.png\" alt=\"\" width=\"156\" height=\"300\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/mpMediaPlayerController-156x300.png 156w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/mpMediaPlayerController.png 386w\" sizes=\"auto, (max-width: 156px) 100vw, 156px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Questo \u00e8 un piccolo spezzone di codice, io ho aggiunto al mio progetto alcune funzionalit\u00e0 di cui ancora non abbiamo parlato, ma chi \u00e8 curioso pu\u00f2 scaricare l&#8217;intero sorgente da <a href=\"http:\/\/dl.dropbox.com\/u\/792862\/movie.zip\" target=\"_blank\">qui<\/a>.<\/p>\n<p>Un ringraziamento a <a href=\"http:\/\/www.babyblu.it\/gianpaolo\/index.html\" target=\"_blank\">Gianpaolo Fragale<\/a> per aver, a sua insaputa :), fornito il video usato in questo esempio.<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-3783 aligncenter\" style=\"margin: 10px\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/1-156x300.png\" alt=\"\" width=\"156\" height=\"300\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/1-156x300.png 156w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/1-78x150.png 78w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/06\/1.png 386w\" sizes=\"auto, (max-width: 156px) 100vw, 156px\" \/><\/a><br \/>\n<\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oggi una piccola chicca non documentata dell&#8217;SDK per iphone. Abbiamo visto come sia semplice visualizzare un video&#8230;<\/p>\n","protected":false},"author":53,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[282,284,285,283,286],"class_list":["post-3776","post","type-post","status-publish","format-standard","hentry","category-tutorial-pratici","tag-mpmovieplayercontroller","tag-snippets-iphone","tag-tips-iphone","tag-tutorial-programmazione-iphone","tag-video-verticale"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/3776","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\/53"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=3776"}],"version-history":[{"count":9,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/3776\/revisions"}],"predecessor-version":[{"id":3790,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/3776\/revisions\/3790"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=3776"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=3776"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=3776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}