Questo plugin fornisce l'accesso per il dispositivo audio, immagine e funzionalità di cattura video.
Avviso: raccolta e utilizzo delle immagini, video o audio da videocamera o un microfono del dispositivo solleva questioni di privacy importante. Politica sulla privacy dell'app dovrebbe discutere come app utilizza tali sensori e se i dati registrati sono condivisa con altre parti. Inoltre, se uso dell'app della fotocamera o microfono non è evidente nell'interfaccia utente, è necessario fornire un preavviso di just-in-time prima app accede la videocamera o il microfono (se il sistema operativo del dispositivo non farlo già). Tale comunicazione deve fornire le informazioni stesse notate sopra, oltre ad ottenere l'autorizzazione (ad esempio, presentando scelte per OK e No grazie). Si noti che alcuni mercati app possono richiedere l'app può fornire preavviso just-in-time e ottenere l'autorizzazione dell'utente prima di accedere la videocamera o il microfono. Per ulteriori informazioni, vedere la guida sulla Privacy.
Questo plugin definisce oggetto global navigator.device.capture
.
Anche se in ambito globale, non è disponibile fino a dopo l'evento deviceready
.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.device.capture);
}
cordova plugin add cordova-plugin-media-capture
supportedAudioModes: la registrazione di formati supportati dal dispositivo audio. (ConfigurationData[])
supportedImageModes: la registrazione formati immagine e i formati supportati dal dispositivo. (ConfigurationData[])
supportedVideoModes: I formati supportati dal dispositivo e risoluzioni video registrazione. (ConfigurationData[])
Avviare l'applicazione registratore audio e restituire informazioni sui file di clip audio catturato.
navigator.device.capture.captureAudio(
CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureAudioOptions options]
);
Avvia un'operazione asincrona per acquisire registrazioni audio utilizzando l'applicazione di registrazione audio predefinita del dispositivo. L'operazione consente all'utente di dispositivo acquisire registrazioni multiple in una singola sessione.
L'operazione di acquisizione termina quando l'utente esce la domanda di registrazione audio, o viene raggiunto il numero massimo di registrazioni specificato da CaptureAudioOptions.limit
. Se nessun valore limit
del parametro è specificato, il valore predefinito è uno (1), e l'operazione di acquisizione termina dopo l'utente registra una singola clip audio.
Quando termina l'operazione di acquisizione, l' CaptureCallback
si esegue con una matrice di oggetti MediaFile
descrive ogni file catturato clip audio. Se l'utente termina l'operazione prima di un clip audio viene catturato, il CaptureErrorCallback
viene eseguito con un oggetto di CaptureError
, con il codice di errore CaptureError.CAPTURE_NO_MEDIA_FILES
.
// capture callback
var captureSuccess = function(mediaFiles) {
var i, path, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
path = mediaFiles[i].fullPath;
// do something interesting with the file
}
};
// capture error callback
var captureError = function(error) {
navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
};
// start audio capture
navigator.device.capture.captureAudio(captureSuccess, captureError, {limit:2});
Incapsula le opzioni di configurazione di acquisizione audio.
limite: il numero massimo di clip audio in grado di registrare l'utente del dispositivo in un'operazione di acquisizione di singolo. Il valore deve essere maggiore o uguale a 1 (default 1).
durata: la durata massima di un clip audio audio, in pochi secondi.
// limit capture operation to 3 media files, no longer than 10 seconds each
var options = { limit: 3, duration: 10 };
navigator.device.capture.captureAudio(captureSuccess, captureError, options);
duration
parametro non è supportato. Lunghezze di registrazione non può essere limitato a livello di codice.duration
parametro non è supportato. Lunghezze di registrazione non può essere limitato a livello di codice.duration
parametro non è supportato. Lunghezze di registrazione non può essere limitato a livello di codice.limit
parametro non è supportato, quindi solo una registrazione può essere creata per ogni chiamata.limit
parametro non è supportato, quindi solo una registrazione può essere creata per ogni chiamata.Avviare l'applicazione fotocamera e restituire informazioni sui file di immagine catturata.
navigator.device.capture.captureImage(
CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureImageOptions options]
);
Avvia un'operazione asincrona per catturare immagini utilizzando l'applicazione della fotocamera del dispositivo. L'operazione consente agli utenti di catturare più immagini in una sola seduta.
Le estremità operazione cattura quando l'utente chiude l'applicazione fotocamera, oppure quando viene raggiunto il numero massimo di registrazioni specificato da CaptureAudioOptions.limit
. Se viene specificato alcun valore limit
, il valore predefinito è uno (1) e l'operazione di acquisizione termina dopo l'utente acquisisce una singola immagine.
Quando termina l'operazione di acquisizione, richiama il callback di CaptureCB
con una matrice di oggetti MediaFile
descrive ogni file immagine catturata. Se l'utente termina l'operazione prima di catturare un'immagine, CaptureErrorCB
callback viene eseguito con un oggetto CaptureError
con un codice di errore CaptureError.CAPTURE_NO_MEDIA_FILES
.
Invocando l'applicazione nativa fotocamera mentre il dispositivo è collegato tramite Zune non funziona, ed esegue il callback di errore.
Funziona in Chrome, Firefox e Opera solo (dato che IE e Safari non supporta API navigator.getUserMedia)
Visualizzazione di immagini utilizzando catturato solo URL del file disponibile in Chrome/Opera. Firefox memorizza le immagini catturate nel deposito di IndexedDB (Vedi documentazione plugin File), e a causa di questo l'unico modo per mostrare l'immagine catturata è di leggerlo e show usando suo DataURL.
// capture callback
var captureSuccess = function(mediaFiles) {
var i, path, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
path = mediaFiles[i].fullPath;
// do something interesting with the file
}
};
// capture error callback
var captureError = function(error) {
navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
};
// start image capture
navigator.device.capture.captureImage(captureSuccess, captureError, {limit:2});
Incapsula le opzioni di configurazione cattura immagine.
// limit capture operation to 3 images
var options = { limit: 3 };
navigator.device.capture.captureImage(captureSuccess, captureError, options);
Avviare l'applicazione registratore video e restituire informazioni sui file di clip video catturati.
navigator.device.capture.captureVideo(
CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureVideoOptions options]
);
Avvia un'operazione asincrona per acquisire registrazioni video usando registrazione video applicazione del dispositivo. L'operazione consente all'utente di catturare più registrazioni in una sola seduta.
L'operazione di acquisizione termina quando l'utente chiude l'applicazione di registrazione video, o viene raggiunto il numero massimo di registrazioni specificato da CaptureVideoOptions.limit
. Se nessun valore limit
del parametro è specificato, il valore predefinito è uno (1) e l'operazione di acquisizione termina dopo l'utente registra un unico video clip.
Quando termina l'operazione di acquisizione, il callback CaptureCB
esegue con una matrice di oggetti MediaFile
descrive ogni file videoclip catturati. Se l'utente termina l'operazione prima di catturare un video clip, CaptureErrorCB
callback viene eseguito con un oggetto CaptureError
con un codice di errore CaptureError.CAPTURE_NO_MEDIA_FILES
.
// capture callback
var captureSuccess = function(mediaFiles) {
var i, path, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
path = mediaFiles[i].fullPath;
// do something interesting with the file
}
};
// capture error callback
var captureError = function(error) {
navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
};
// start video capture
navigator.device.capture.captureVideo(captureSuccess, captureError, {limit:2});
CaptureError.CAPTURE_NOT_SUPPORTED
codice di errore se l'applicazione non è installata sul dispositivo.Incapsula le opzioni di configurazione di cattura video.
limite: il numero massimo di video clip utente del dispositivo in grado di catturare in un'operazione di cattura singola. Il valore deve essere maggiore o uguale a 1 (default 1).
durata: la durata massima di un clip video, in pochi secondi.
// limit capture operation to 3 video clips
var options = { limit: 3 };
navigator.device.capture.captureVideo(captureSuccess, captureError, options);
Richiamato su di un'operazione di acquisizione di mezzi di successo.
function captureSuccess( MediaFile[] mediaFiles ) { ... };
Questa funzione viene eseguita al termine di un'operazione di acquisizione di successo. A questo punto che è stato catturato un file multimediale e neanche l'utente è stato terminato l'applicazione di cattura di media, o è stato raggiunto il limite di cattura.
Ogni oggetto MediaFile
descrive un file multimediali catturati.
// capture callback
function captureSuccess(mediaFiles) {
var i, path, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
path = mediaFiles[i].fullPath;
// do something interesting with the file
}
};
Incapsula il codice di errore derivanti da un'operazione di acquisizione di mezzi falliti.
CaptureError.CAPTURE_INTERNAL_ERR
: La videocamera o il microfono non è riuscito a catturare l'immagine o il suono.
CaptureError.CAPTURE_APPLICATION_BUSY
: L'applicazione di cattura audio o fotocamera sta attualmente scontando un'altra richiesta di cattura.
CaptureError.CAPTURE_INVALID_ARGUMENT
: Utilizzo non valido dell'API (per esempio, il valore di limit
è minore di uno).
CaptureError.CAPTURE_NO_MEDIA_FILES
: L'utente chiude l'applicazione di cattura audio o fotocamera prima di catturare qualcosa.
CaptureError.CAPTURE_NOT_SUPPORTED
: L'operazione di acquisizione richiesto non è supportato.
Richiamato se si verifica un errore durante un'operazione di acquisizione di mezzi di comunicazione.
function captureError( CaptureError error ) { ... };
Questa funzione viene eseguita se si verifica un errore quando si tenta di lanciare un media catturare operazione. Fallimento scenari includono quando l'applicazione di cattura è occupato, un'operazione di acquisizione è già in atto, o l'utente annulla l'operazione prima che tutti i file multimediali vengono catturati.
Questa funzione viene eseguita con un oggetto CaptureError
che contiene un codice
di errore appropriato.
// capture error callback
var captureError = function(error) {
navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
};
Incapsula un insieme di parametri di acquisizione multimediale che supporta un dispositivo.
Descrive le modalità di cattura media supportato dal dispositivo. I dati di configurazione includono il tipo MIME e quote di cattura per l'acquisizione video o immagine.
I tipi MIME devono rispettare RFC2046. Esempi:
video/3gpp
video/quicktime
image/jpeg
audio/amr
audio/wav
tipo: stringa di caratteri minuscoli con codifica ASCII il che rappresenta il tipo di supporto. (DOMString)
altezza: l'altezza dell'immagine o del video in pixel. Il valore è zero per clip audio. (Numero)
larghezza: la larghezza dell'immagine o del video in pixel. Il valore è zero per clip audio. (Numero)
// retrieve supported image modes
var imageModes = navigator.device.capture.supportedImageModes;
// Select mode that has the highest horizontal resolution
var width = 0;
var selectedmode;
for each (var mode in imageModes) {
if (mode.width > width) {
width = mode.width;
selectedmode = mode;
}
}
Non supportato da qualsiasi piattaforma. Tutte le matrici di dati di configurazione sono vuote.
Recupera il formato informazioni su cattura file multimediale.
mediaFile.getFormatData(
MediaFileDataSuccessCB successCallback,
[MediaFileDataErrorCB errorCallback]
);
Questa funzione in modo asincrono tenta di recuperare le informazioni sul formato del file multimediale. Se riuscito, richiama il callback di MediaFileDataSuccessCB
con un oggetto MediaFileData
. Se il tentativo fallisce, questa funzione richiama il callback di MediaFileDataErrorCB
.
L'API per informazioni sul formato dei file multimediali accesso è limitato, quindi non tutti MediaFileData
proprietà supportate.
Non fornisce un'API per informazioni sui file multimediali, quindi tutti gli oggetti di MediaFileData
restituiscono con valori predefiniti.
L'API per informazioni sul formato dei file multimediali accesso è limitato, quindi non tutti MediaFileData
proprietà supportate.
L'API per informazioni sul formato dei file multimediali accesso è limitato, quindi non tutti MediaFileData
proprietà supportate.
Incapsula le proprietà di un file di acquisizione di mezzi di comunicazione.
nome: il nome del file, senza informazioni sul percorso. (DOMString)
fullPath: il percorso completo del file, tra cui il nome. (DOMString)
tipo: tipo mime del file (DOMString)
lastModifiedDate: la data e l'ora quando il file è stato modificato. (Data)
dimensioni: le dimensioni del file in byte. (Numero)
Incapsula le informazioni sul formato di un file multimediale.
codec: il formato reale del contenuto audio e video. (DOMString)
bitrate: il bitrate medio del contenuto. Il valore è zero per le immagini. (Numero)
altezza: l'altezza dell'immagine o del video in pixel. Il valore è zero per clip audio. (Numero)
larghezza: la larghezza dell'immagine o del video in pixel. Il valore è zero per clip audio. (Numero)
durata: la lunghezza del clip video o audio in secondi. Il valore è zero per le immagini. (Numero)
Nessuna API fornisce informazioni sul formato dei file multimediali, quindi l'oggetto MediaFileData
restituito da MediaFile.getFormatData
caratteristiche i seguenti valori predefiniti:
codec: non supportato e restituiscenull
.
bitrate: non supportato e restituisce zero.
altezza: non supportato e restituisce zero.
larghezza: non supportato e restituisce zero.
durata: non supportato e restituisce zero.
Supporta i seguenti MediaFileData
proprietà:
codec: non supportato e restituiscenull
.
bitrate: non supportato e restituisce zero.
altezza: supportati: solo i file immagine e video.
larghezza: supportati: solo i file immagine e video.
durata: supportati: audio e video file solo
Supporta i seguenti MediaFileData
proprietà:
codec: non supportato e restituiscenull
.
bitrate: non supportato e restituisce zero.
altezza: supportati: solo i file immagine e video.
larghezza: supportati: solo i file immagine e video.
durata: supportati: audio e video file solo.
Supporta i seguenti MediaFileData
proprietà:
codec: non supportato e restituiscenull
.
bitrate: supportato sui dispositivi iOS4 per solo audio. Restituisce zero per immagini e video.
altezza: supportati: solo i file immagine e video.
larghezza: supportati: solo i file immagine e video.
durata: supportati: audio e video file solo.