• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

T#024 – Aggiungiamo i video alle nostre applicazioni

By Redazione | on 6 Febbraio 2010 | 12 Comments
Senza categoria

T024 - Inseriamo i video all'interno delle nostre applicazioni Oggi vedremo come inserire un video all’interno della nostra applicazione. Nello specifico vedremo tre modalità differenti che ci permetteranno di sfruttare questa funzione multimediale dell’iPhone: avvieremo un video salvato all’interno del nostro progetto, uno disponibile in una pagina web html e infine vedremo come visualizzare un video YouTube direttamente nell’applicazione nativa presente su tutti gli iPhone.

Partiamo con il nostro tutorial aprendo Xcode e creando un nuovo progetto. Dall’elenco dei template disponibili scegliamo “View-based Application” e proseguiamo. Diamo ora un nome alla nostra applicazione, ad esempio “myVideo”, scegliamo la posizione dove salvare il progetto e andiamo avanti.

Per prima cosa dobbiamo importare un nuovo framework: MediaPlayer. Per farlo clicchiamo col pulsante destro del mouse su “Frameworks” in “Groups & Files”, quindi su “Add” e successivamente su “Existing Frameworks…”. Si aprirà una finestrella come quella mostrata nell’immagine seguente:


MediaPlayer.Framework

Da qui selezionate, come mostrato, MediaPlayer.framework e premete “Add”. Non abbiamo ancora finito con il framework, dobbiamo infatti ancora aprire il file “myVideoViewController.h” (se avete chiamato il progetto come noi “myVideo”) e aggiungere la seguente riga di codice:

#import 

Ora potremo usare tutto quanto offerto da questo framework. Rimaniamo nel file di intestazione .h e modifichiamo il suo codice in modo da ottenere quanto riportato qui sotto:

#import 
#import 

@interface myVideoViewController : UIViewController {
    IBOutlet UIWebView *webView;
}

@property (nonatomic, retain) IBOutlet UIWebView *webView;

-(IBAction)avviaVideo:(id)sender;
-(IBAction)avviaVideoYouTube:(id)sender;

@end

Come vedete non abbiamo fatto altro che dichiarare un oggetto IBOutlet (che collegheremo al rispettivo disegnato tramite Interface Builder) di tipo UIWebView chiamato webView. In queste poche righe di codice abbiamo inoltre dichiarato 2 metodi che ci permetteranno di avviare il video in due modi diversi.

Aggiungiamo ora un video al nostro programma, 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.

Create ora un file HTML con al suo interno il seguente codice, chiamatelo “filmato.html” e importatelo nel progetto allo stesso modo di come avete appena fatto con il video “filmato.m4v”:





www.devAPP.it




	



Questa sarà la pagina HTML che verrà mostrata nella webView, ovviamente nulla vi vieta di puntare ad una pagina online presente in rete 😉

Ora che abbiamo tutto l’occorrente all’interno del progetto possiamo aprire Interface Builder facendo doppio click sul file “myVideoViewController.xib” e disegnare quindi l’interfaccia utente, simile a quella mostrata in figura qui in basso:


T024 - Aggiungiamo video alle nostre applicazioni (Interfaccia Utente)

Questi elencati sono gli elementi indispensabili per il tutorial, tutto il resto sono solo elementi decorativi:

  • N. 2 UIButton
  • N. 1 UIWebView

Come vedete noi abbiamo personalizzato l’aspetto grafico del primo pulsante inserendo un’immagine al suo interno e allo stesso modo abbiamo aggiunto UILabel e altri elementi per rendere più chiaro il programma in esecuzione.

Inseriti gli elementi, cliccate su “File’s Owner” e dalla finestra “My Video View Controller Connections” collegate webView alla UIWebView appena inserita e i due metodi (Received Actions) “avviaVideo” e “avviaVideoYouTube” ai due pulsanti, facendo attenzione a selezionare “Touch Up Inside” nella finestrella che compare al rilascio del mouse.

Salviamo e chiudiamo Interface Builder. Apriamo quindi il file di implementazione “myVideoViewController.m” e andiamo a scrivere il codice vero e proprio che ci permetterà di visualizzare i video nella nostra App.

Prima di tutto aggiungiamo la seguente linea di codice in modo tale da poter usare le proprietà (dichiarate prima) della webView:

@synthesize webView;

“Scommentiamo” quindi il metodo viewDidLoad e modifichiamo il codice come segue:

- (void)viewDidLoad {
    [super viewDidLoad];
	
	//[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"filmato" ofType:@"html"]isDirectory:NO]]];
	//[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:test isDirectory:NO]]];

	NSString *strIndirizzo =[[NSBundle mainBundle] pathForResource:@"filmato" ofType:@"html"];	
	NSURL *url = [NSURL fileURLWithPath:strIndirizzo isDirectory:NO];
	NSURLRequest *request = [NSURLRequest requestWithURL:url];
	[webView loadRequest:request];
	[webView setScalesPageToFit:YES];
}

Questo farà in modo di caricare la pagina HTML aggiunta precedentemente nel Bundle dell’app, con all’interno il codice che punta al video (tra i Tag “object”). Ovviamente nessuno ci vieta, come detto poco fa, di puntare ad una pagina web presente su internet. Durante l’esecuzione, dopo aver visualizzato il video, si tornerò all’applicazione senza di fatto uscirne.

Aggiungiamo ora il codice del primo metodo “avviaVideo” grazie al quale, premendo l’apposito tasto, partirà sul player dell’iPhone il video integrato nel nostro progetto (anche in questo la visualizzazione del video non ci farà uscire dalla nostra applicazione):

-(IBAction)avviaVideo:(id)sender{
	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];
}

Il vantaggio i caricare i video nel progetto è che i video saranno visibili ovviamente anche senza connessione, lo svantaggio è che le app in questo modo peseranno molto di più.

Ultima modalità di visualizzazione presentata, permette, alla pressione del relativo UIButton, di avviare un video di YouTube direttamente dall’applicazione nativa, appunto YouTube, uscendo quindi dalla nostra applicazione per non tornarci più, neanche al termine della visualizzazione del video (un chiaro svantaggio di questo metodo):

-(IBAction)avviaVideoYouTube:(id)sender {
	NSURL *url = [NSURL URLWithString:@"http://www.youtube.com/watch?v=YQdgr1KtDFY"];
	[[UIApplication sharedApplication] openURL:url];
}

Sia questa ultima modalità che quella tramite webView necessitano di connessione attiva per la visione del video che di fatto non è all’interno del progetto, rendendolo in questo modo molto più leggero, ma legato alla presenza della connettività. Starà a voi, ora, scegliere il metodo migliore per implementare uno o più video nelle vostre applicazioni.

Ecco uno screenshot dell’app presentata in esecuzione:

t024 - Inseriamo i video all'interno delle nostre applicazioni

Share this story:
  • tweet

Tags: MediaPlayerObjective-cprogrammazionesdkTutorial Praticivideo

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • Microservizi per logiche applicative di grandi dimensioni

    27 Luglio 2016 - 0 Comment
  • Uno sguardo al runtime Objective-c

    10 Settembre 2013 - 0 Comment
  • Andrea Picchi: Programmare con Objective-C 2.0 per iOS e OS X

    27 Febbraio 2013 - 10 Comments

Author Description

12 Responses to “T#024 – Aggiungiamo i video alle nostre applicazioni”

  1. 7 Febbraio 2010

    Lorenzo

    a quando una guida per inserire l’audio nelle applicazioni?

  2. 7 Febbraio 2010

    Byteros

    Complimenti… utilissimi come sempre.

  3. 8 Febbraio 2010

    Staff devAPP

    @Lorenzo: Uno dei prossimi tutorial in arrivo sarà dedicato proprio ai contenuti audio 😉

  4. 8 Febbraio 2010

    Pippo

    Vivissimi complimenti… Un’ottima guida, come sempre 🙂

  5. 11 Febbraio 2010

    The Anonymous

    Come mai a me quando clicco col destro su “ad existing frameworks” non mi compare la finestrella come quella nel tutorial, ma la normale finestrella di quando apri un normale file??

    mi apre la cartella “sistema/libreria/frameworks” dove dentro ci stanno parecchi framework ma nessuno col nome mediaplayer…….

  6. 17 Marzo 2010

    Staff devAPP

    The Anonymous :

    Come mai a me quando clicco col destro su “ad existing frameworks” non mi compare la finestrella come quella nel tutorial, ma la normale finestrella di quando apri un normale file??

    mi apre la cartella “sistema/libreria/frameworks” dove dentro ci stanno parecchi framework ma nessuno col nome mediaplayer…….

    Se puoi postaci uno screenshot sul forum.. oppure prova a reinstallare l’SDK.. mi sa che ti sei perso qualcosa strada facendo ^^

  7. 5 Aprile 2010

    The Anonymous

    Ecco uno screen… (mi succedeva prima e mi succede anche ora che ho scaricato un nuovo aggiornamento dell’SDK, quindi non so cosa c’è di diverso)

    quando io clicco col destro su frameworks, scelgo add–> existing frameworks mi compare la finestra qui linkata http://img85.imageshack.us/img85/2899/immagine2c.png

    sbaglio qualcosa??? (come si vede i file sono elencati in ordine alfabetico, e alla M ce ne sta solo uno che non è MediaPlayer)

  8. 28 Aprile 2010

    alessio

    Ciao, complimenti per tutte le guide.. ho un problemino però, ho eseguito tutto come da descrizione infatti non rilevo errori, ma quando provo a far partire il filmato integrato mi crasha l’applicazione… dove sbaglio??

  9. 10 Giugno 2010

    H725

    Salve agazzi anche io ho lo stesso problema, non trovo il framework mediaPlayer… lo posso copiare da un’altro progetto?

  10. 10 Giugno 2010

    Staff devAPP


    alessio:

    Ciao, complimenti per tutte le guide.. ho un problemino però, ho eseguito tutto come da descrizione infatti non rilevo errori, ma quando provo a far partire il filmato integrato mi crasha l’applicazione… dove sbaglio??

    Hai provato a vedere il messaggio in console al momento del crash?

  11. 2 Luglio 2010

    tommolo

    Bravi, continuate così, gli articoli sono brevi e concisi, ottimo sito!!! I miei complimenti!!

    ps: se iniziaste anche a fare qualche prova con l’ipad, tipo costruire a puntate un applicazione simil wired?

  12. 6 Aprile 2011

    Matteo

    NOn mi parte il filmato caricato dall’ html!!! Vedo solo nella web view le righe di codi html!! Qualche soluzione?

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO