캡처

캡처

소자의 오디오, 이미지 및 비디오 캡처 기능에 대 한 액세스를 제공합니다.

중요 한 개인 정보 보호 참고: 수집 및 이미지, 비디오 또는 오디오 장치의 카메라 또는 마이크를 사용 하 여 중요 한 개인 정보 보호 문제를 발생 시킵니다. 응용 프로그램의 개인 정보 보호 정책 응용 프로그램 같은 센서를 사용 하는 방법 및 다른 당사자와 함께 기록 된 데이터는 공유 하는 여부를 토론 해야 한다. 또한, 카메라 또는 마이크의 사용 애플 리 케이 션의 사용자 인터페이스에서 명백 하지 않은, 당신의 애플 리 케이 션이 (해당 되는 경우 장치 운영 체제 이렇게 이미 하지 않는) 카메라 또는 마이크에 액세스 하기 전에 그냥--시간 통지를 제공 해야 합니다. 그 통지는 (예를 들어, 확인 및 아니오선택 제시) 하 여 사용자의 허가 취득 뿐만 아니라, 위에서 언급 된 동일한 정보를 제공 해야 합니다. Note 일부 애플 리 케이 션 장 터 저스트-인-타임 공지 및 카메라 또는 마이크에 액세스 하기 전에 사용자에 게 허가를 귀하의 응용 프로그램에 필요할 수 있습니다. 자세한 내용은 개인 정보 보호 가이드를 참조 하십시오.

개체

메서드

범위

The capture object is assigned to the navigator.device object, and therefore has global scope.

// The global capture object
var capture = navigator.device.capture;

속성

메서드

지원 되는 플랫폼

기능 액세스

버전 3.0, 코르도바 플러그인으로 장치 수준 Api를 구현합니다. CLI의 사용 plugin 명령 설명에 명령줄 인터페이스를 추가 하거나 프로젝트에 대 한이 기능을 제거 하려면:

    $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture.git
    $ cordova plugin rm org.apache.cordova.core.media-capture

이 명령은 모든 타겟된 플랫폼에 적용 하지만 플랫폼 관련 구성 설정을 아래에 설명 된 수정:

일부 플랫폼은 특별 한 구성이 필요 없이이 기능을 지원할 수 있습니다. 플랫폼 지원에 대 한 참조.


capture.captureAudio

오디오 레코더 응용 프로그램을 시작 하 고 캡처한 오디오 클립 파일에 대 한 정보를 반환 합니다.

navigator.device.capture.captureAudio(
    CaptureCB captureSuccess, CaptureErrorCB captureError,  [CaptureAudioOptions options]
);

설명

소자의 기본 오디오 녹음 응용 프로그램을 사용 하 여 오디오 녹음을 캡처하는 비동기 작업을 시작 합니다. 작업 장치 사용자를 단일 세션에서 여러 녹화를 캡처할 수 있습니다.

캡처 작업이 종료 사용자 오디오 녹음 응용 프로그램 또는 녹음에 의해 지정 된 최대 수를 종료 하는 경우 CaptureAudioOptions.limit 에 도달. 없는 경우 limit 매개 변수 값 지정, 하나 (1), 기본 및 캡처 작업이 종료 되 면 사용자는 하나의 오디오 클립을 기록 하는 후.

캡처 작업이 완료 되 면은 CaptureCallback 의 배열을 실행 MediaFile 오디오 클립 파일을 캡처 설명 하는 각 개체. 전에 오디오 클립을 캡처 작업이 종료 되 면 사용자는 CaptureErrorCallback 으로 실행 한 CaptureError 개체, 특징으로 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});

전체 예제

<!DOCTYPE html>
<html>
  <head>
    <title>Capture Audio</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8" src="json2.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Called when capture operation is finished
    //
    function captureSuccess(mediaFiles) {
        var i, len;
        for (i = 0, len = mediaFiles.length; i < len; i += 1) {
            uploadFile(mediaFiles[i]);
        }
    }

    // Called if something bad happens.
    //
    function captureError(error) {
        var msg = 'An error occurred during capture: ' + error.code;
        navigator.notification.alert(msg, null, 'Uh oh!');
    }

    // A button will call this function
    //
    function captureAudio() {
        // Launch device audio recording application,
        // allowing user to capture up to 2 audio clips
        navigator.device.capture.captureAudio(captureSuccess, captureError, {limit: 2});
    }

    // Upload files to server
    function uploadFile(mediaFile) {
        var ft = new FileTransfer(),
            path = mediaFile.fullPath,
            name = mediaFile.name;

        ft.upload(path,
            "http://my.domain.com/upload.php",
            function(result) {
                console.log('Upload success: ' + result.responseCode);
                console.log(result.bytesSent + ' bytes sent');
            },
            function(error) {
                console.log('Error uploading file ' + path + ': ' + error.code);
            },
            { fileName: name });
    }

    </script>
    </head>
    <body>
        <button onclick="captureAudio();">Capture Audio</button> <br>
    </body>
</html>

블랙베리 WebWorks 단점

iOS 단점

Windows Phone 7, 8 특수


CaptureAudioOptions

오디오 캡처 구성 옵션을 캡슐화합니다.

속성

빠른 예제

// 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);

안 드 로이드 단점

블랙베리 WebWorks 단점

iOS 단점


capture.captureImage

카메라 응용 프로그램을 시작 하 고 캡처된 이미지 파일에 대 한 정보를 반환 합니다.

navigator.device.capture.captureImage(
    CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureImageOptions options]
);

설명

디바이스의 카메라 응용 프로그램을 사용 하 여 이미지를 캡처하는 비동기 작업을 시작 합니다. 작업이 단일 세션에서 하나 이상의 이미지를 캡처할 수 있습니다.

캡처 작업이 종료 하거나 사용자가 닫으면 카메라 응용 프로그램 또는 녹음에 의해 지정 된 최대 수 CaptureAudioOptions.limit 에 도달. 없는 경우 limit 값이 지정 된, 하나 (1), 기본 및 캡처 작업이 종료 되 면 사용자는 단일 이미지 캡처 후.

캡처 작업이 완료 되 면 호출에 CaptureCB 의 배열과 콜백 MediaFile 각 캡처된 이미지 파일을 설명 하는 개체. 사용자는 이미지를 캡처하기 전에 작업을 종료 하는 경우는 CaptureErrorCB 콜백 실행 한 CaptureError 개체를 특징으로 CaptureError.CAPTURE_NO_MEDIA_FILES 오류 코드.

지원 되는 플랫폼

Windows Phone 7 단점

당신의 장치 Zune 통해 연결 하는 동안 네이티브 카메라 응용 프로그램을 호출 하면 작동 하지 않는다, 및 오류 콜백 실행.

빠른 예제

// 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});

전체 예제

<!DOCTYPE html>
<html>
  <head>
    <title>Capture Image</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8" src="json2.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Called when capture operation is finished
    //
    function captureSuccess(mediaFiles) {
        var i, len;
        for (i = 0, len = mediaFiles.length; i < len; i += 1) {
            uploadFile(mediaFiles[i]);
        }
    }

    // Called if something bad happens.
    //
    function captureError(error) {
        var msg = 'An error occurred during capture: ' + error.code;
        navigator.notification.alert(msg, null, 'Uh oh!');
    }

    // A button will call this function
    //
    function captureImage() {
        // Launch device camera application,
        // allowing user to capture up to 2 images
        navigator.device.capture.captureImage(captureSuccess, captureError, {limit: 2});
    }

    // Upload files to server
    function uploadFile(mediaFile) {
        var ft = new FileTransfer(),
            path = mediaFile.fullPath,
            name = mediaFile.name;

        ft.upload(path,
            "http://my.domain.com/upload.php",
            function(result) {
                console.log('Upload success: ' + result.responseCode);
                console.log(result.bytesSent + ' bytes sent');
            },
            function(error) {
                console.log('Error uploading file ' + path + ': ' + error.code);
            },
            { fileName: name });
    }

    </script>
    </head>
    <body>
        <button onclick="captureImage();">Capture Image</button> <br>
    </body>
</html>

CaptureImageOptions

이미지 캡처 구성 옵션을 캡슐화합니다.

속성

빠른 예제

// limit capture operation to 3 images
var options = { limit: 3 };

navigator.device.capture.captureImage(captureSuccess, captureError, options);

iOS 단점


capture.captureVideo

비디오 레코더 응용 프로그램을 시작 하 고 캡처한 비디오 클립 파일에 대 한 정보를 반환 합니다.

navigator.device.capture.captureVideo(
    CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureVideoOptions options]
);

설명

비디오 녹화 장치의 비디오 레코딩 응용 프로그램을 사용 하 여 캡처하는 비동기 작업을 시작 합니다. 작업을 사용 하면 단일 세션에서 하나 이상의 녹음을 캡처할 수 있습니다.

캡처 작업이 끝나면 사용자 종료 비디오 레코딩 응용 프로그램 또는 녹음에 의해 지정 된 최대 수 CaptureVideoOptions.limit 에 도달. 없는 경우 limit 매개 변수 값 지정, 하나 (1), 기본 및 캡처 작업이 종료 되 면 사용자는 하나의 비디오 클립을 기록 하는 후.

캡처 작업이 완료 되 면 그것은 CaptureCB 의 배열과 콜백 실행 MediaFile 비디오 클립 파일을 캡처 설명 하는 각 개체. 사용자는 비디오 클립을 캡처하기 전에 작업을 종료 하는 경우는 CaptureErrorCB 콜백 실행 한 CaptureError 개체를 특징으로 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});

전체 예제

<!DOCTYPE html>
<html>
  <head>
    <title>Capture Video</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8" src="json2.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Called when capture operation is finished
    //
    function captureSuccess(mediaFiles) {
        var i, len;
        for (i = 0, len = mediaFiles.length; i < len; i += 1) {
            uploadFile(mediaFiles[i]);
        }
    }

    // Called if something bad happens.
    //
    function captureError(error) {
        var msg = 'An error occurred during capture: ' + error.code;
        navigator.notification.alert(msg, null, 'Uh oh!');
    }

    // A button will call this function
    //
    function captureVideo() {
        // Launch device video recording application,
        // allowing user to capture up to 2 video clips
        navigator.device.capture.captureVideo(captureSuccess, captureError, {limit: 2});
    }

    // Upload files to server
    function uploadFile(mediaFile) {
        var ft = new FileTransfer(),
            path = mediaFile.fullPath,
            name = mediaFile.name;

        ft.upload(path,
            "http://my.domain.com/upload.php",
            function(result) {
                console.log('Upload success: ' + result.responseCode);
                console.log(result.bytesSent + ' bytes sent');
            },
            function(error) {
                console.log('Error uploading file ' + path + ': ' + error.code);
            },
            { fileName: name });
    }

    </script>
    </head>
    <body>
        <button onclick="captureVideo();">Capture Video</button> <br>
    </body>
</html>

블랙베리 WebWorks 단점


CaptureVideoOptions

비디오 캡처 구성 옵션을 캡슐화합니다.

속성

빠른 예제

// limit capture operation to 3 video clips
var options = { limit: 3 };

navigator.device.capture.captureVideo(captureSuccess, captureError, options);

블랙베리 WebWorks 단점

iOS 단점


CaptureError

실패 한 미디어 캡처 작업에서 발생 하는 오류 코드를 캡슐화 합니다.

속성

상수


CaptureCB

성공적인 미디어 캡처 작업에 따라 호출 됩니다.

function captureSuccess( MediaFile[] mediaFiles ) { ... };

설명

이 함수는 성공적인 캡처 작업이 완료 된 후 실행 합니다. 미디어 파일을 캡처한이 포인트와 중에 사용자가 미디어 캡처 응용 프로그램 종료 또는 캡처 한계에 도달 했습니다.

각 MediaFile 개체 캡처한 미디어 파일에 설명 합니다.

빠른 예제

// 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
    }
};

CaptureErrorCB

미디어 캡처 작업 중에 오류가 발생 하면 호출 됩니다.

function captureError( CaptureError error ) { ... };

설명

이 함수는 오류가 발생 하면 실행 하려고 할 때 미디어 캡처 작업을 실행 합니다. 실패 시나리오 등 캡처 응용 프로그램이, 캡처 작업이 이미 일어나 고 있다, 또는 어떤 미디어 파일 캡처 전에 사용자가 작업을 취소 합니다.

이 함수를 함께 실행 하는 CaptureError 는 적절 한 오류를 포함 하는 개체code.

빠른 예제

// capture error callback
var captureError = function(error) {
    navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
};

ConfigurationData

장치가 지 원하는 미디어 캡처 매개 변수 집합을 캡슐화 합니다.

설명

장치에서 지 원하는 미디어 캡처 모드를 설명 합니다. 구성 데이터는 MIME 유형 및 비디오 또는 이미지 캡처 캡처 크기 포함 됩니다.

MIME 형식 RFC2046을 준수 해야 합니다. 예:

속성

빠른 예제

// 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;
    }
}

모든 플랫폼에서 지원 되지 않습니다. 모든 구성 데이터 배열이 비어 있습니다.


돌아가기

미디어 캡처 파일의 속성을 캡슐화합니다.

속성

메서드


MediaFile.getFormatData

검색은 미디어 캡처 파일에 대 한 정보를 서식을 지정 합니다.

mediaFile.getFormatData (MediaFileDataSuccessCB successCallback, [MediaFileDataErrorCB errorCallback]);

설명

이 함수는 비동기적으로 미디어 파일에 대 한 형식 정보를 검색 하려고 합니다. 경우, 호출 하는 MediaFileDataSuccessCB 와 콜백을 MediaFileData 개체. 이 함수 호출 하는 시도가 실패 하는 경우는 MediaFileDataErrorCB 콜백.

지원 되는 플랫폼

블랙베리 WebWorks 단점

그래서 모든 미디어 파일에 대 한 정보에 대 한 API를 제공 하지 않습니다 MediaFileData 개체를 기본 값으로 반환 합니다.

안 드 로이드 단점

미디어 파일 형식 정보에 액세스할 수 API는 제한, 그래서 모든 MediaFileData 속성이 지원 됩니다.

iOS 단점

미디어 파일 형식 정보에 액세스할 수 API는 제한, 그래서 모든 MediaFileData 속성이 지원 됩니다.


MediaFileData

미디어 파일에 대 한 형식 정보를 캡슐화합니다.

속성

블랙베리 WebWorks 단점

미디어 파일에 대 한 형식 정보를 제공 하는 없는 API 때문에 MediaFileData 에 의해 반환 되는 개체 MediaFile.getFormatData 다음과 같은 기본 값을 기능:

안 드 로이드 단점

지원 되는 MediaFileData 속성:

iOS 단점

지원 되는 MediaFileData 속성: