Ce plugin permet d‘accéder à de l’appareil audio, image et capacités de capture vidéo.
Avertissement: collecte et utilisation des images, vidéo ou audio de la caméra ou un microphone de l‘appareil soulève des questions importantes de la vie privée. La politique de confidentialité de votre application devrait traiter de la manière dont l’application utilise ces capteurs et du partage des données enregistrées avec d‘autres parties ou non. En outre, si l’utilisation de l‘application de la caméra ou un microphone n’est pas apparente dans l‘interface utilisateur, vous devez fournir un avis juste-à-temps, avant que l’application accède à la caméra ou un microphone (si le système d‘exploitation de périphérique n’est pas faire déjà). Cette notice devrait contenir les informations susmentionnées, ainsi que permettre de recueillir l‘autorisation de l’utilisateur (par exemple, en offrant les possibilités OK et Non merci). Notez que certains magasins d‘applications peuvent exiger la présence de ce genre de notice avant d’autoriser la distribution de votre application. Pour plus d'informations, consultez le Guide de la vie privée.
cordova plugin add org.apache.cordova.media-capture
supportedAudioModes : les formats d‘enregistrement audio supportés par l’appareil. (ConfigurationData[])
supportedImageModes : les formats et tailles de capture d‘image supportés par l’appareil. (ConfigurationData[])
supportedVideoModes: les formats et résolutions d‘enregistrement vidéo supportés par l’appareil. (ConfigurationData[])
Ouvre l'application enregistreur audio et fournit des informations sur les fichiers audio capturés.
navigator.device.capture.captureAudio( CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureAudioOptions options] );
Débute une opération asynchrone de capture audio via l‘application d’enregistrement audio par défaut de l‘appareil. Cette opération permet à l’utilisateur de l‘appareil d’enregistrer plusieurs prises en une seule séance de capture.
L‘opération de capture se termine lorsque l’utilisateur quitte l‘application d’enregistrement audio, ou quand le nombre maximal d‘enregistrements spécifié par CaptureAudioOptions.limit
est atteint. Si aucune valeur n’est fournie pour le paramètre limit
celle utilisée par défaut est un (1), l‘opération de capture se terminerait donc après que l’utilisateur ait enregistré un seul clip audio.
Une fois l‘opération de capture terminée, la fonction callback CaptureCallback
est exécutée et un tableau contenant des objets MediaFile
décrivant chaque clip audio capturé lui est passé en paramètre. Si l’utilisateur annule l‘opération avant qu’un clip audio ne soit capturé, la fonction callback CaptureErrorCallback
est exécutée et un objet CaptureError
comprenant le code d'erreur CaptureError.CAPTURE_NO_MEDIA_FILES
lui est passé en paramètre.
// fonction callback de capture var captureSuccess = function(mediaFiles) { var i, path, len; for (i = 0, len = mediaFiles.length; i < len; i += 1) { path = mediaFiles[i].fullPath; // faire quelque chose d'intéressant avec le fichier } }; // fonction callback d'erreur de capture var captureError = function(error) { navigator.notification.alert('Code d\'erreur : ' + error.code, null, 'Erreur de capture'); }; // débute la capture audio navigator.device.capture.captureAudio(captureSuccess, captureError, {limit:2});
Encapsule les options de configuration de capture audio.
limite: le nombre maximal de clips audio, l‘utilisateur de l’appareil permet d'enregistrer dans une opération de capture unique. La valeur doit être supérieure ou égale à 1 (1 par défaut).
durée: la durée maximale d'un clip sonore audio, en quelques secondes.
// limite l'operation de capture à 3 fichiers dont la durée ne dépasse pas 10 secondes chaque var options = { limit: 3, duration: 10 }; navigator.device.capture.captureAudio(captureSuccess, captureError, options);
duration
paramètre n‘est pas pris en charge. Longueurs d’enregistrement ne peut être limitée par programme.duration
paramètre n‘est pas pris en charge. Longueurs d’enregistrement ne peut être limitée par programme.duration
paramètre n‘est pas pris en charge. Longueurs d’enregistrement ne peut être limitée par programme.limit
paramètre n‘est pas pris en charge, ainsi qu’un enregistrement peut être créée pour chaque appel.limit
paramètre n‘est pas pris en charge, ainsi qu’un enregistrement peut être créée pour chaque appel.Ouvre l'application appareil photo et fournit des informations sur les fichiers image capturés.
navigator.device.capture.captureImage( CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureImageOptions options] );
Débute une opération asynchrone de capture d‘images via l’application appareil photo par défaut de l‘appareil. Cette opération permet à l’utilisateur de l‘appareil d’enregistrer plusieurs prises en une seule séance de capture.
L‘opération de capture soit termine lorsque l’utilisateur ferme l‘application appareil photo, ou le nombre maximal d’enregistrements spécifié par CaptureAudioOptions.limit
est atteinte. Si aucune valeur n‘est fournie pour le paramètre limit
celle utilisée par défaut est un (1), l’opération de capture se terminerait donc après que l'utilisateur ait enregistré une seule image.
Une fois l‘opération de capture terminée, la fonction callback CaptureCB
est exécutée et un tableau contenant des objets MediaFile
décrivant chaque image capturée lui est passé en paramètre. Si l’utilisateur annule l‘opération avant qu’une image ne soit capturée, la fonction callback CaptureErrorCB
est exécutée et un objet CaptureError
comprenant le code d'erreur CaptureError.CAPTURE_NO_MEDIA_FILES
lui est passé en paramètre.
Ouvrir l‘application native appareil photo pendant que l’appareil est connecté via Zune ne fonctionne pas, la fonction callback d'erreur est exécutée dans ce cas.
// fonction callback de capture var captureSuccess = function(mediaFiles) { var i, path, len; for (i = 0, len = mediaFiles.length; i < len; i += 1) { path = mediaFiles[i].fullPath; // faire quelque chose d'intéressant avec le fichier } }; // fonction callback d'erreur de capture var captureError = function(error) { navigator.notification.alert('Code d\'erreur : ' + error.code, null, 'Erreur de capture'); }; // débute la capture d'image(s) navigator.device.capture.captureImage(captureSuccess, captureError, {limit:2});
Encapsule les options de configuration de capture d'image.
// limite l'opération de capture à 3 images var options = { limit: 3 }; navigator.device.capture.captureImage(captureSuccess, captureError, options);
Ouvre l'application enregistreur vidéo et fournit des informations sur les clips vidéo capturés.
navigator.device.capture.captureVideo( CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureVideoOptions options] );
Débute une opération asynchrone de capture de vidéos via l‘application d’enregistrement de vidéos par défaut de l‘appareil. Cette opération permet à l’utilisateur de l‘appareil d’enregistrer plusieurs fichiers en une seule séance de capture.
L‘opération de capture se termine lorsque l’utilisateur quitte l‘application d’enregistrement de vidéos, ou quand le nombre maximal d‘enregistrements spécifié par CaptureVideoOptions.limit
est atteint. Si aucune valeur n’est fournie pour le paramètre limit
celle utilisée par défaut est un (1), l‘opération de capture se terminerait donc après que l’utilisateur ait enregistré un seul clip vidéo.
Une fois l‘opération de capture terminée, la fonction callback CaptureCB
est exécutée et un tableau contenant des objets MediaFile
décrivant chaque clip vidéo capturé lui est passé en paramètre. Si l’utilisateur annule l‘opération avant qu’un clip vidéo ne soit capturé, la fonction callback CaptureErrorCB
est exécutée et un objet CaptureError
comprenant le code d'erreur CaptureError.CAPTURE_NO_MEDIA_FILES
lui est passé en paramètre.
// fonction callback de capture var captureSuccess = function(mediaFiles) { var i, path, len; for (i = 0, len = mediaFiles.length; i < len; i += 1) { path = mediaFiles[i].fullPath; // faire quelque chose d'intéressant avec le fichier } }; // fonction callback d'erreur de capture var captureError = function(error) { navigator.notification.alert('Code d\'erreur : ' + error.code, null, 'Erreur de capture'); }; // débute la capture de vidéo(s) navigator.device.capture.captureVideo(captureSuccess, captureError, {limit:2});
CaptureError.CAPTURE_NOT_SUPPORTED
code d‘erreur si l’application n‘est pas installée sur l’appareil.Encapsule les options de configuration de capture vidéo.
limite: le nombre maximal de clips vidéo, utilisateur de l'appareil peut capturer dans une opération de capture unique. La valeur doit être supérieure ou égale à 1 (1 par défaut).
durée: la durée maximale d'un clip vidéo, en quelques secondes.
// limite l'opération de capture à 3 clips vidéo var options = { limit: 3 }; navigator.device.capture.captureVideo(captureSuccess, captureError, options);
Fonction appelée lors d'une opération de capture de médias réussie.
function captureSuccess( MediaFile[] mediaFiles ) { ... };
Cette fonction est exécutée après qu‘une opération de capture ait été menée à terme avec succès. À ce stade, un fichier média a été capturé et l’utilisateur a quitté l'application de capture ou bien la limite de capture a été atteinte.
Chaque objet MediaFile
décrit un fichier média capturé.
// fonction callback de capture function captureSuccess(mediaFiles) { var i, path, len; for (i = 0, len = mediaFiles.length; i < len; i += 1) { path = mediaFiles[i].fullPath; // faire quelque chose d'intéressant avec le fichier } };
Encapsule le code d‘erreur résultant d’une opération de capture de médias ayant échoué.
CaptureError.CAPTURE_INTERNAL_ERR
: La caméra ou un microphone a échoué à capturer l'image ou le son.
CaptureError.CAPTURE_APPLICATION_BUSY
: L'application de capture caméra / audio est actuellement une autre demande de capture.
CaptureError.CAPTURE_INVALID_ARGUMENT
: Utilisation incorrecte de l'API (par exemple, la valeur de limit
est inférieur à 1).
CaptureError.CAPTURE_NO_MEDIA_FILES
: L‘utilisateur quitte l’application capture audio ou de la caméra avant de capturer n'importe quoi.
CaptureError.CAPTURE_NOT_SUPPORTED
: L‘opération de capture demandée n’est pas pris en charge.
Fonction callback appelée si une erreur se produit pendant une opération de capture de médias.
function captureError( CaptureError error ) { ... };
Cette fonction est exécutée si une erreur se produit lors d‘une tentative de lancement d’une opération de capture de médias. Une telle erreur peut survenir lorsque l‘application de capture est occupée, quand une opération de capture est déjà en cours, ou encore si l’utilisateur annule l‘opération avant qu’un fichier média ait pu être capturé.
Un objet CaptureError
contenant un code
d'erreur approprié est transmis à cette fonction callback lors de son exécution.
// fonction callback d'erreur de capture var captureError = function(error) { navigator.notification.alert('Code d\'erreur : ' + error.code, null, 'Erreur de capture'); };
Encapsule un ensemble de paramètres de capture de médias pris en charge par un appareil.
Décrit les modes de capture de média pris en charge par l‘appareil. Les données de configuration incluent le type MIME et les dimensions pour la capture de vidéo ou d’image.
Les types MIME doivent respecter la norme RFC2046. Exemples :
video/3gpp
video/quicktime
image/jpeg
audio/amr
audio/wav
type: The ASCII encodée en chaîne minuscule qui représente le type de média. (DOMString)
hauteur: la hauteur de l'image ou la vidéo en pixels. La valeur est zéro pour les extraits sonores. (Nombre)
largeur: la largeur de l'image ou la vidéo en pixels. La valeur est zéro pour les extraits sonores. (Nombre)
// récupère des informations sur les modes de capture d'image supportés var imageModes = navigator.device.capture.supportedImageModes; // choisit le mode possédant la résolution horizontale la plus élevée var width = 0; var selectedmode; for each (var mode in imageModes) { if (mode.width > width) { width = mode.width; selectedmode = mode; } }
N'est pas pris en charge par toutes les plates-formes. Tous les tableaux de données de configuration sont vides.
Récupère des informations sur le format du fichier média capturé.
mediaFile.getFormatData (MediaFileDataSuccessCB successCallback, [MediaFileDataErrorCB errorCallback]) ;
Cette fonction tente de récupérer les informations de format d'un fichier média de façon asynchrone. Si la tentative réussit, la fonction callback MediaFileDataSuccessCB
est exécutée et un objet MediaFileData
lui est transmis en paramètre. Si la tentative échoue, la fonction callback MediaFileDataErrorCB
est appelée.
L'API pour accéder aux informations de format des fichiers média est limitée, toutes les propriétés MediaFileData
ne sont donc pas prises en charge.
Aucune API permettant la récupération d‘informations sur des fichiers média n’est disponible. Par conséquent, les objets MediaFileData
contiennent toujours des valeurs par défaut.
L'API pour accéder aux médias file format informations est limité, donc pas tous les MediaFileData
propriétés sont prises en charge.
L'API pour accéder aux médias file format informations est limité, donc pas tous les MediaFileData
propriétés sont prises en charge.
Encapsule les propriétés d'un fichier média capturé.
nom: le nom du fichier, sans le chemin d'accès. (DOMString)
fullPath: le chemin d'accès complet du fichier, y compris le nom. (DOMString)
type: type de mime du fichier (DOMString)
lastModifiedDate: la date et l'heure lorsque le fichier a été modifié. (Date)
taille: la taille du fichier, en octets. (Nombre)
Encapsule des informations de format d'un fichier média.
codecs: le format réel du contenu audio et vidéo. (DOMString)
débit: le débit moyen du contenu. La valeur est égale à zéro pour les images. (Nombre)
hauteur: la hauteur de l'image ou la vidéo en pixels. La valeur est égale à zéro pour des clips audio. (Nombre)
largeur: la largeur de l'image ou la vidéo en pixels. La valeur est égale à zéro pour des clips audio. (Nombre)
durée: la durée du clip vidéo ou audio en quelques secondes. La valeur est égale à zéro pour les images. (Nombre)
Aucune API fournissant des informations sur le format des fichiers média n'est disponible, par conséquent les objets MediaFileData
retournés par MediaFile.getFormatData
comportent les valeurs par défaut suivantes :
codecs: pas pris en charge et retournenull
.
Bitrate: pas pris en charge et retourne la valeur zéro.
hauteur: pas pris en charge et retourne la valeur zéro.
largeur: non pris en charge et retourne la valeur zéro.
durée: non pris en charge et retourne la valeur zéro.
Supporte les propriétés MediaFileData
suivantes :
codecs : propriété non prise en charge, sa valeur est null
.
bitrate : propriété non prise en charge, sa valeur est zéro.
hauteur: prise en charge : seuls les fichiers image et vidéo.
largeur: prise en charge : seuls les fichiers image et vidéo.
durée: prise en charge : seuls les fichiers audio et vidéo
Prend en charge ce qui suit MediaFileData
Propriétés :
codecs: pas pris en charge et retournenull
.
Bitrate: pas pris en charge et retourne la valeur zéro.
height : propriété prise en charge seulement pour les fichiers image et vidéo.
width : propriété prise en charge seulement pour les fichiers image et vidéo.
durée: prise en charge : seuls les fichiers audio et vidéo.
Prend en charge ce qui suit MediaFileData
Propriétés :
codecs: pas pris en charge et retournenull
.
Bitrate: pris en charge sur les périphériques d‘iOS4 pour l’audio uniquement. Renvoie zéro pour les images et vidéos.
hauteur: prise en charge : seuls les fichiers image et vidéo.
largeur: prise en charge : seuls les fichiers image et vidéo.
duration : propriété prise en charge seulement pour les fichiers audio et vidéo.