Ten plugin umożliwia dostęp do urządzenia dźwięku, obrazu i możliwości przechwytywania wideo.
Ostrzeżenie: zbierania i wykorzystywania zdjęć, wideo lub audio z urządzenia kamery lub mikrofonu podnosi kwestie prywatności ważne. Polityka prywatności danej aplikacji należy Dyskutować, jak aplikacja używa takich czujników i czy dane zapisane jest współużytkowany z innymi stronami. Ponadto jeśli aplikacji wykorzystanie kamery lub mikrofonu nie jest widoczne w interfejsie użytkownika, powinny zapewnić just-in czas wypowiedzenia przed aplikacji dostęp do kamery lub mikrofonu (jeśli urządzenie system operacyjny nie robi już). Że ogłoszenie powinno zawierać te same informacje, o których wspomniano powyżej, jak również uzyskanie uprawnienia użytkownika (np. poprzez przedstawianie wyborów OK i Nie dzięki). Należy pamiętać, że niektóre platformy aplikacji może wymagać aplikacji powiadomienia just-in-time oraz uzyskania zgody użytkownika przed dostęp do kamery lub mikrofonu. Aby uzyskać więcej informacji zobacz przewodnik prywatności.
Ten plugin określa globalne navigator.device.capture
obiektu.
Chociaż w globalnym zasięgu, to nie dostępne dopiero po deviceready
imprezie.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.device.capture);
}
cordova plugin add cordova-plugin-media-capture
supportedAudioModes: nagranie formatów obsługiwanych przez urządzenie. (ConfigurationData[])
supportedImageModes: nagrywanie obrazu rozmiarów i formatów obsługiwanych przez urządzenie. (ConfigurationData[])
supportedVideoModes: rozdzielczości nagrywania i formatów obsługiwanych przez urządzenie. (ConfigurationData[])
Uruchom aplikację rejestrator audio i zwraca informacje o przechwyconych klip audio pliki.
navigator.device.capture.captureAudio(
CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureAudioOptions options]
);
Rozpoczyna operację asynchroniczną do przechwytywania audio nagrania za pomocą urządzenia domyślnej aplikacji do nagrywania dźwięku. Operacja pozwala uchwycić wiele nagrań w jednej sesji użytkownika urządzenia.
Operacji przechwytywania kończy się, gdy użytkownik zamyka nagranie aplikacji, lub zostanie osiągnięta Maksymalna liczba nagrań, określony przez CaptureAudioOptions.limit
. Jeśli wartość parametru nie spółka z ograniczoną odpowiedzialnością
jest określony, domyślnie do jednego (1), i operacji przechwytywania kończy po użytkownik rejestruje pojedynczy klip audio.
Po zakończeniu operacji przechwytywania, CaptureCallback
wykonuje się z tablicą obiektów MediaFile
opisu każdego pliku przechwyconych klip audio. Jeśli użytkownik kończy działanie przed klipu audio jest zrobione, CaptureErrorCallback
wykonuje z obiektem CaptureError
, z kodem błędu 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});
Zawiera opcje konfiguracji przechwytywania dźwięku.
Limit: Maksymalna liczba klipów audio nagrywać w operacji przechwytywania pojedynczego użytkownika urządzenia. Wartość musi być większa lub równa 1 (domyślnie 1).
czas trwania: maksymalny czas trwania klipu audio dźwięku, w kilka sekund.
// 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
Parametr nie jest obsługiwana. Zapis długości nie może być ograniczony programowo.duration
Parametr nie jest obsługiwana. Zapis długości nie może być ograniczony programowo.duration
Parametr nie jest obsługiwana. Zapis długości nie może być ograniczony programowo.limit
Parametr nie jest obsługiwana, więc tylko jednego nagrania mogą być tworzone dla każdego wywołania.limit
Parametr nie jest obsługiwana, więc tylko jednego nagrania mogą być tworzone dla każdego wywołania.Uruchom aplikację aparatu i zwraca informacje o przechwyconych obrazów.
navigator.device.capture.captureImage(
CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureImageOptions options]
);
Rozpoczyna operację asynchroniczną do przechwytywania obrazów przy użyciu urządzenia aparatu. Operacja pozwala użytkownik wobec zawładnięcie więcej niż jeden obraz w jednej sesji.
Kończy operację przechwytywania, albo kiedy użytkownik zamyka aplikację aparatu, lub zostanie osiągnięta Maksymalna liczba nagrań, określony przez CaptureAudioOptions.limit
. Jeśli nie limit
wartość jest określona, domyślnie jest to jeden (1), i operacji przechwytywania kończy się po użytkownika przechwytuje jeden obraz.
Po zakończeniu operacji przechwytywania, wywołuje CaptureCB
wywołanie zwrotne z tablicą obiektów MediaFile
opisu każdego pliku przechwyconego obrazu. Jeśli użytkownik kończy operację przed zrobieniem zdjęcia, wywołania zwrotnego CaptureErrorCB
wykonuje się z obiektu CaptureError
z kodem błędu CaptureError.CAPTURE_NO_MEDIA_FILES
.
Wywoływanie aparat native aplikacji, podczas gdy urządzenie jest podłączone przez Zune nie dziala, i wykonuje błąd wywołania zwrotnego.
Działa w Chrome, Firefox i Opera, tylko (od IE i Safari nie obsługuje interfejsu API navigator.getUserMedia)
Wyświetlanie obrazów przy użyciu zrobione tylko URL pliku dostępne w Chrome/Opera. Firefox przechowuje przechwyconych obrazów w składzie IndexedDB (zobacz plik wtyczki dokumentacji), i w związku z tym jedynym sposobem, aby pokazać przechwyconego obrazu jest czytać ją i Pokaż przy jego 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});
Zawiera opcje konfiguracji przechwytywania obrazu.
// limit capture operation to 3 images
var options = { limit: 3 };
navigator.device.capture.captureImage(captureSuccess, captureError, options);
Uruchom aplikację rejestrator wideo i zwraca informacje o przechwyconych wideo akta.
navigator.device.capture.captureVideo(
CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureVideoOptions options]
);
Rozpoczyna operację asynchroniczną do przechwytywania nagrania wideo za pomocą urządzenia wideo notujący zgłoszenie. Operacja pozwala użytkownik wobec zawładnięcie więcej niż jednego nagrania w pojedynczej sesji.
Operacji przechwytywania kończy się, gdy użytkownik zamyka aplikację nagrywania wideo, lub zostanie osiągnięta Maksymalna liczba nagrań, określony przez CaptureVideoOptions.limit
. Jeśli wartość parametru nie spółka z ograniczoną odpowiedzialnością
jest określony, domyślnie do jednego (1), i operacji przechwytywania kończy po użytkownik rejestruje pojedynczy klip audio.
Po zakończeniu operacji przechwytywania wywołania zwrotnego CaptureCB
wykonuje z tablicą obiektów MediaFile
opisu każdego pliku wideo przechwycone. Jeśli użytkownik kończy operację przed przechwytywania wideo, wywołania zwrotnego CaptureErrorCB
wykonuje się z obiektu CaptureError
z kodem błędu 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
kod błędu, jeśli aplikacja nie jest zainstalowana na urządzeniu.Zawiera opcje konfiguracji przechwytywania wideo.
Limit: Maksymalna liczba klipów wideo urządzenia użytkownik puszka metalowa zawładnięcie w operacji przechwytywania pojedynczego. Wartość musi być większa lub równa 1 (domyślnie 1).
czas trwania: maksymalny czas trwania klipu wideo w kilka sekund.
// limit capture operation to 3 video clips
var options = { limit: 3 };
navigator.device.capture.captureVideo(captureSuccess, captureError, options);
Wywoływane po operacji przechwytywania mediów sukces.
function captureSuccess( MediaFile[] mediaFiles ) { ... };
Ta funkcja wykonuje się po zakończeniu operacji wychwytywania sukces. W tym momencie plik multimedialny został złapany, a następnie użytkownik ma zakończony aplikacji przechwytywania mediów, czy osiągnięto limit przechwytywania.
Każdy obiekt MediaFile
opisuje plik multimedialny przechwycone.
// 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
}
};
Hermetyzuje kod błędów wynikających z operacji przechwytywania mediów nie powiodło się.
CaptureError.CAPTURE_INTERNAL_ERR
: Kamery lub mikrofonu udało się przechwycić obraz lub dźwięk.
CaptureError.CAPTURE_APPLICATION_BUSY
: Aplikacji przechwytywania kamery lub audio jest aktualnie obsługujący wniosek innego przechwytywania.
CaptureError.CAPTURE_INVALID_ARGUMENT
: Nieprawidłowe użycie interfejsu API (np. wartości limit
jest mniej niż jeden).
CaptureError.CAPTURE_NO_MEDIA_FILES
: Użytkownik zamyka aparat fotograficzny lub audio aplikacji przechwytywania przed zrobieniem czegokolwiek.
CaptureError.CAPTURE_NOT_SUPPORTED
: Przechwytywania Żądana operacja nie jest obsługiwana.
Wywołany, jeśli wystąpi błąd podczas operacji przechwytywania mediów.
function captureError( CaptureError error ) { ... };
Ta funkcja wykonuje, jeśli wystąpi błąd, gdy próbuje uruchomić nośnik przechwytywania operacji. Brak scenariusze podczas aplikacji przechwytywania jest zajęty, operacji przechwytywania jest już miejsce, lub użytkownik nie anuluje operację zanim jakiekolwiek pliki multimedialne są przechwytywane.
Ta funkcja wykonuje się z obiektem CaptureError
, zawierające odpowiedni komunikat Kod
.
// capture error callback
var captureError = function(error) {
navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
};
Hermetyzuje zestaw parametrów przechwytywania mediów, które urządzenie obsługuje.
W tym artykule opisano tryby przechwytywania mediów obsługiwane przez urządzenie. Dane konfiguracji zawiera typ MIME i przechwytywania wymiary do przechwytywania wideo lub obraz.
Typy MIME powinno stosować się do RFC2046. Przykłady:
video/3gpp
video/quicktime
image/jpeg
audio/amr
audio/wav
Typ: The ASCII algorytmem małe ciąg reprezentujący typ nośnika. (DOMString)
wysokość: wysokość obrazu lub wideo w pikselach. Wartość wynosi zero dla klipy dźwiękowe. (Liczba)
szerokość: szerokość obrazu lub wideo w pikselach. Wartość wynosi zero dla klipy dźwiękowe. (Liczba)
// 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;
}
}
Nie obsługiwane przez każdą platformę. Wszystkie tablice danych konfiguracji są puste.
Pobiera formatu informacji o pliku przechwytywania mediów.
mediaFile.getFormatData(
MediaFileDataSuccessCB successCallback,
[MediaFileDataErrorCB errorCallback]
);
Ta funkcja asynchronicznie podejmie próby pobrania informacji o formacie plik multimedialny. Jeśli zakończy się sukcesem, to wywołuje MediaFileDataSuccessCB
wywołanie zwrotne z obiektu MediaFileData
. Jeżeli próba nie powiedzie się, funkcja ta wywołuje wywołania zwrotnego MediaFileDataErrorCB
.
Ten API wobec dostęp do mediów informacji o formacie pliku jest ograniczona, więc nie wszystkie MediaFileData
są obsługiwane właściwości.
Zapewnia API dla informacji na temat plików multimedialnych, więc wszystkie obiekty MediaFileData
zwrotu z wartości domyślnych.
Ten API wobec dostęp do mediów informacji o formacie pliku jest ograniczona, więc nie wszystkie MediaFileData
są obsługiwane właściwości.
Ten API wobec dostęp do mediów informacji o formacie pliku jest ograniczona, więc nie wszystkie MediaFileData
są obsługiwane właściwości.
Hermetyzuje właściwości pliku przechwytywania mediów.
Nazwa: Nazwa pliku, bez informacji o ścieżce. (DOMString)
fullPath: pełną ścieżkę pliku, łącznie z nazwą. (DOMString)
Typ: Typ mime pliku (DOMString)
Data ostatniej modyfikacji: data i czas ostatniej modyfikacji pliku. (Data)
rozmiar: wielkość pliku w bajtach. (Liczba)
Hermetyzuje informacje formatu pliku multimedialnego.
kodery-dekodery: format rzeczywista zawartość audio i wideo. (DOMString)
bitrate: średnia szybkość transmisji bitów zawartości. Wartość wynosi zero dla obrazów. (Liczba)
wysokość: wysokość obrazu lub wideo w pikselach. Wartość wynosi zero dla klipów audio. (Liczba)
szerokość: szerokość obrazu lub wideo w pikselach. Wartość wynosi zero dla klipów audio. (Liczba)
czas trwania: długość dźwięku lub wideo klip w kilka sekund. Wartość wynosi zero dla obrazów. (Liczba)
Nie API zapewnia informacje o formatach plików multimedialnych, więc obiekt MediaFileData
zwracane przez funkcje MediaFile.getFormatData
następujące wartości domyślne:
kodery-dekodery: nie obsługiwane i zwracanull
.
bitrate: nie obsługiwane i zwraca zero.
wysokość: nie obsługiwane i zwraca zero.
szerokość: nie obsługiwane i zwraca zero.
czas trwania: nie obsługiwane i zwraca zero.
Obsługuje następujące MediaFileData
Właściwości:
kodery-dekodery: nie obsługiwane i zwracanull
.
bitrate: nie obsługiwane i zwraca zero.
wysokość: obsługiwane: tylko pliki obrazów i wideo.
szerokość: obsługiwane: tylko pliki obrazów i wideo.
czas trwania: obsługiwane: audio i wideo tylko pliki
Obsługuje następujące MediaFileData
Właściwości:
kodery-dekodery: nie obsługiwane i zwracanull
.
bitrate: nie obsługiwane i zwraca zero.
wysokość: obsługiwane: tylko pliki obrazów i wideo.
szerokość: obsługiwane: tylko pliki obrazów i wideo.
czas trwania: obsługiwane: audio i wideo tylko pliki.
Obsługuje następujące MediaFileData
Właściwości:
kodery-dekodery: nie obsługiwane i zwracanull
.
bitrate: obsługiwane na iOS4 urządzeń audio tylko. Zwraca wartość zero dla zdjęć i filmów.
wysokość: obsługiwane: tylko pliki obrazów i wideo.
szerokość: obsługiwane: tylko pliki obrazów i wideo.
czas trwania: obsługiwane: audio i wideo tylko pliki.