Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Gestire immagini, video e audio

Acquisizione e riproduzione di risorse multimediali
Acquisizione e riproduzione di risorse multimediali
Link copiato negli appunti

Un sottoinsieme delle API di Cordova è dedicato all'interfacciamento con le funzionalità della piattaforma mobile sottostante per l'acquisizione di risorse multimediali come immagini, video e audio.

L'approccio generale è identico per tutti e tre i tipi di risorse e si basa su tre metodi dell'oggetto capture:

  • captureAudio();
  • captureImage();
  • captureVideo().

Ciascun metodo avvia l'applicazione predefinita per l'acquisizione del tipo di risorsa richiamando la callback di successo o di errore in base all'esito dell'acquisizione. All'avvio di un'acquisizione è possibile specificare il numero di acquisizioni che si desidera effettuare in sequenza, così al termine dell'operazione alla callback di successo viene passato un array dei file corrispondenti.

Chiariamo il concetto con un esempio relativo all'acquisizione di due video in sequenza:

navigator.capture.captureVideo(onSuccess, onError, {limit: 2});
function onSuccess(mediaFiles) {
	var i, path;
	for (i=0; i<mediaFiles.length; i++) {
		uploadFile(mediaFiles[i].fullPath);
	}
}
function onError(error) {
	alert("Si è verificato un errore (" + error.code + ")");
}

Nella chiamata del metodo captureVideo() abbiamo specificato, oltre alle funzioni di callback, un oggetto con la proprietà limit impostata a 2 per indicare che l'applicazione di cattura video dovrà invocare la callback di successo dopo l'acquisizione di due clip.

A questa callback verrà passato l'array mediaFiles che contiene l'elenco dei file acquisiti rappresentati tramite oggetti di tipo MediaFile. Questo tipo di oggetto codifica alcune informazioni sui file multimediali tramite le seguenti proprietà:

Proprietà Descrizione
name contiene il nome del file senza percorso
fullPath rappresenta il nome del file comprensivo di percorso
type il mime type del file
lastModifiedDate la data e ora dell'ultima modifica del file
size le dimensioni del file in byte

Nel nostro esempio utilizziamo il percorso del file per effettuare l'upload verso un server tramite un'ipotetica funzione uploadFile().

Riprodurre un file multimediale

Cordova prevede anche la possibilità di effettuare la riproduzione di un file audio tramite l'oggetto media, come mostrato dal seguente codice:

var audioMedia = new Media("file://percorso/fileAudio.mp3", onSuccess, onError);
audioMedia.play();

La prima istruzione crea un oggetto di tipo Media basato sul file specificato come primo argomento ed imposta le callback che verranno chiamate in caso di esito positivo della riproduzione o di errore.

L'avvio effettivo della riproduzione avviene alla chiamata del metodo play(). In modo analogo possiamo mettere in pausa la riproduzione (pause()), terminarla (stop()), posizionarci ad un determinato punto (seekTo()), impostare il volume (setVolume()) e così via.

Ti consigliamo anche