index.md 14 KB

cordova-plugin-media

이 플러그인 기록 장치에 오디오 파일을 재생 하는 기능을 제공 합니다.

참고: 현재 구현 미디어 캡처에 대 한 W3C 사양을 준수 하지 않는 및 편의 위해서만 제공 됩니다. 미래 구현 최신 W3C 사양을 준수 한다 고 현재 Api 사용 중지 될 수 있습니다.

이 플러그인은 글로벌 Media 생성자를 정의 합니다.

전역 범위에 있지만 그것은 불가능까지 deviceready 이벤트 후.

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    console.log(Media);
}

설치

cordova plugin add cordova-plugin-media

지원 되는 플랫폼

  • 안 드 로이드
  • 블랙베리 10
  • iOS
  • Windows Phone 7과 8
  • Tizen
  • 윈도우

Windows Phone 단점

  • 한 번에 하나의 미디어 파일을 다시 재생할 수 있습니다.

  • 응용 프로그램 다른 미디어와 상호 작용 하는 방법에 대 한 엄격한 제한이 있다. 자세한 내용은 Microsoft 문서 를 참조 하십시오.

미디어

var media = new Media(src, mediaSuccess, [mediaError], [mediaStatus]);

매개 변수

  • src: 오디오 콘텐츠를 포함 하는 URI. (DOMString)

  • mediaSuccess: (선택 사항) 후 실행 되는 콜백 한 Media 개체 현재 재생, 기록, 또는 중지 작업을 완료 했습니다. (기능)

  • mediaError: (선택 사항) 오류가 발생 하면 실행 되는 콜백. (기능)

  • mediaStatus: (선택 사항) 상태 변화를 나타내기 위해 실행 하는 콜백. (기능)

상수

다음 상수는 mediaStatus를 유일한 매개 변수로 보고 됩니다.

  • Media.MEDIA_NONE = 0;
  • Media.MEDIA_STARTING = 1;
  • Media.MEDIA_RUNNING = 2;
  • Media.MEDIA_PAUSED = 3;
  • Media.MEDIA_STOPPED = 4;

메서드

  • media.getCurrentPosition: 오디오 파일 내에서 현재 위치를 반환합니다.

  • media.getDuration: 오디오 파일의 기간을 반환합니다.

  • media.play: 시작 또는 오디오 파일 재생을 다시 시작 합니다.

  • media.pause: 오디오 파일의 재생을 일시 중지 합니다.

  • media.release: 기본 운영 체제의 오디오 리소스를 해제합니다.

  • media.seekTo: 오디오 파일 내에서 위치를 이동합니다.

  • media.setVolume: 오디오 재생 볼륨을 설정 합니다.

  • media.startRecord: 오디오 파일을 녹음을 시작 합니다.

  • media.stopRecord: 오디오 파일 기록을 중지 합니다.

  • media.stop: 오디오 파일 재생을 중지 합니다.

추가 읽기 전용 매개 변수

  • 위치: 위치 오디오 재생 시간 (초).

    • 플레이; 하는 동안 자동으로 업데이트 전화 getCurrentPosition 를 업데이트 합니다.
  • 기간: 기간, 매체의 초.

media.getCurrentPosition

오디오 파일 내에서 현재 위치를 반환합니다. 또한 Media 개체의 position 매개 변수를 업데이트합니다.

media.getCurrentPosition(mediaSuccess, [mediaError]);

매개 변수

  • mediaSuccess: 현재 위치 (초) 전달 되는 콜백.

  • mediaError: (선택 사항) 콜백 실행 오류가 발생 하는 경우에.

빠른 예제

// Audio player
//
var my_media = new Media(src, onSuccess, onError);

// Update media position every second
var mediaTimer = setInterval(function () {
    // get media position
    my_media.getCurrentPosition(
        // success callback
        function (position) {
            if (position > -1) {
                console.log((position) + " sec");
            }
        },
        // error callback
        function (e) {
            console.log("Error getting pos=" + e);
        }
    );
}, 1000);

media.getDuration

초 오디오 파일의 기간을 반환합니다. 기간을 알 수 없는 경우-1 값을 반환 합니다.

media.getDuration();

빠른 예제

// Audio player
//
var my_media = new Media(src, onSuccess, onError);

// Get duration
var counter = 0;
var timerDur = setInterval(function() {
    counter = counter + 100;
    if (counter > 2000) {
        clearInterval(timerDur);
    }
    var dur = my_media.getDuration();
    if (dur > 0) {
        clearInterval(timerDur);
        document.getElementById('audio_duration').innerHTML = (dur) + " sec";
    }
}, 100);

media.pause

오디오 파일 재생을 일시 중지 합니다.

media.pause();

빠른 예제

// Play audio
//
function playAudio(url) {
    // Play the audio file at url
    var my_media = new Media(url,
        // success callback
        function () { console.log("playAudio():Audio Success"); },
        // error callback
        function (err) { console.log("playAudio():Audio Error: " + err); }
    );

    // Play audio
    my_media.play();

    // Pause after 10 seconds
    setTimeout(function () {
        media.pause();
    }, 10000);
}

media.play

시작 또는 오디오 파일 재생을 다시 시작 합니다.

media.play();

빠른 예제

// Play audio
//
function playAudio(url) {
    // Play the audio file at url
    var my_media = new Media(url,
        // success callback
        function () {
            console.log("playAudio():Audio Success");
        },
        // error callback
        function (err) {
            console.log("playAudio():Audio Error: " + err);
        }
    );
    // Play audio
    my_media.play();
}

iOS 단점

  • numberOfLoops:이 옵션을 전달할는 play 시간을 재생 하려면, 예를 들어 미디어 파일의 수를 지정 하는 방법:

    var myMedia = new Media("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3")
    myMedia.play({ numberOfLoops: 2 })
    
  • playAudioWhenScreenIsLocked:이 옵션을 전달할는 play 메서드는 화면이 잠겨 때 재생 수 있도록 지정 하려면. 만약 설정 true (기본값) 하드웨어 음소거 버튼의 상태, 예를 들면 무시 됩니다:

    var myMedia = new Media("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3")
    myMedia.play({ playAudioWhenScreenIsLocked : false })
    
  • 파일 검색의 순서: iOS에서 검색 한 파일 이름 또는 간단한 경로 제공 하는 경우는 www 파일을 다음 응용 프로그램의 디렉터리 documents/tmp 디렉터리:

    var myMedia = new Media("audio/beer.mp3")
    myMedia.play()  // first looks for file in www/audio/beer.mp3 then in <application>/documents/tmp/audio/beer.mp3
    

media.release

기본 운영 체제의 오디오 리소스를 해제합니다. 이것은 유한 양의 미디어 재생용 OpenCore 인스턴스 때문에 안 드 로이드를 위해 특히 중요 하다입니다. 응용 프로그램은 더 이상 필요 없는 모든 Media 리소스에 대 한 release 함수를 호출 해야 합니다.

media.release();

빠른 예제

// Audio player
//
var my_media = new Media(src, onSuccess, onError);

my_media.play();
my_media.stop();
my_media.release();

media.seekTo

오디오 파일 내의 현재 위치를 설정합니다.

media.seekTo(milliseconds);

매개 변수

  • 밀리초: 밀리초에서는 오디오에서 재생 위치를 설정 하는 위치.

빠른 예제

// Audio player
//
var my_media = new Media(src, onSuccess, onError);
    my_media.play();
// SeekTo to 10 seconds after 5 seconds
setTimeout(function() {
    my_media.seekTo(10000);
}, 5000);

블랙베리 10 단점

  • 블랙베리 OS 5 장치에서 지원 되지 않습니다.

media.setVolume

오디오 파일의 볼륨을 설정 합니다.

media.setVolume(volume);

매개 변수

  • 볼륨: 볼륨 재생을 위한 설정. 값은 0.0에서 1.0의 범위 내에서 해야 합니다.

지원 되는 플랫폼

  • 안 드 로이드
  • iOS

빠른 예제

// Play audio
//
function playAudio(url) {
    // Play the audio file at url
    var my_media = new Media(url,
        // success callback
        function() {
            console.log("playAudio():Audio Success");
        },
        // error callback
        function(err) {
            console.log("playAudio():Audio Error: "+err);
    });

    // Play audio
    my_media.play();

    // Mute volume after 2 seconds
    setTimeout(function() {
        my_media.setVolume('0.0');
    }, 2000);

    // Set volume to 1.0 after 5 seconds
    setTimeout(function() {
        my_media.setVolume('1.0');
    }, 5000);
}

media.startRecord

오디오 파일 녹음을 시작 합니다.

media.startRecord();

지원 되는 플랫폼

  • 안 드 로이드
  • iOS
  • Windows Phone 7과 8
  • 윈도우

빠른 예제

// Record audio
//
function recordAudio() {
    var src = "myrecording.mp3";
    var mediaRec = new Media(src,
        // success callback
        function() {
            console.log("recordAudio():Audio Success");
        },

        // error callback
        function(err) {
            console.log("recordAudio():Audio Error: "+ err.code);
        });

    // Record audio
    mediaRec.startRecord();
}

안 드 로이드 단점

  • 안 드 로이드 장치 적응 다중 속도 형식에서 오디오를 기록합니다. 지정 된 파일 .amr 확장명으로 끝나야 합니다.
  • 하드웨어 볼륨 제어는 어떤 미디어 객체 살아 있는 동안 미디어 볼륨까지 유선. 일단 개체는 release() 호출 마지막 만든된 미디어 볼륨 컨트롤 그들의 기본 동작을 되돌립니다. 컨트롤은 또한 원래 대로 페이지 네비게이션이 모든 매체 개체를 출시.

iOS 단점

  • iOS만 레코드 형식을 .wav 및 반환 오류 경우 파일 이름 확장명의 파일을 수정 하지.

  • 전체 경로 제공 하지 않으면 응용 프로그램의 기록 배치 됩니다 documents/tmp 디렉터리. 이 통해 액세스할 수 있는 File API를 사용 하 여 LocalFileSystem.TEMPORARY . 기록 시간에 지정 된 하위 디렉터리에 이미 존재 해야 합니다.

  • 파일을 기록 하 고 재생할 수 있습니다 문서 URI를 사용 하 여 다시:

    var myMedia = new Media("documents://beer.mp3")
    

윈도우 특수

  • 전체 경로 제공 하지 않으면 녹음 AppData/temp 디렉터리에 배치 됩니다. 이 통해 액세스할 수 있는 파일 API를 사용 하 여 LocalFileSystem.TEMPORARY 또는 ' ms appdata: 온도 / / / /' URI.

  • 기록 시간에 지정 된 하위 디렉터리에 이미 존재 해야 합니다.

  • Tizen 특수

    • Tizen 장치에서 지원 되지 않습니다.

    media.stop

    오디오 파일 재생을 중지 합니다.

    media.stop();
    

    빠른 예제

    // Play audio
    //
    function playAudio(url) {
        // Play the audio file at url
        var my_media = new Media(url,
            // success callback
            function() {
                console.log("playAudio():Audio Success");
            },
            // error callback
            function(err) {
                console.log("playAudio():Audio Error: "+err);
            }
        );
    
        // Play audio
        my_media.play();
    
        // Pause after 10 seconds
        setTimeout(function() {
            my_media.stop();
        }, 10000);
    }
    

    media.stopRecord

    오디오 파일 녹음을 중지 합니다.

    media.stopRecord();
    

    지원 되는 플랫폼

    • 안 드 로이드
    • iOS
    • Windows Phone 7과 8
    • 윈도우

    빠른 예제

    // Record audio
    //
    function recordAudio() {
        var src = "myrecording.mp3";
        var mediaRec = new Media(src,
            // success callback
            function() {
                console.log("recordAudio():Audio Success");
            },
    
            // error callback
            function(err) {
                console.log("recordAudio():Audio Error: "+ err.code);
            }
        );
    
        // Record audio
        mediaRec.startRecord();
    
        // Stop recording after 10 seconds
        setTimeout(function() {
            mediaRec.stopRecord();
        }, 10000);
    }
    

    Tizen 특수

    • Tizen 장치에서 지원 되지 않습니다.

    MediaError

    MediaError 개체는 오류가 발생 하면 mediaError 콜백 함수에 반환 됩니다.

    속성

    • 코드: 미리 정의 된 오류 코드 중 하나가 아래에 나열 된.

    • 메시지: 오류 세부 정보를 설명 하는 오류 메시지.

    상수

    • MediaError.MEDIA_ERR_ABORTED= 1
    • MediaError.MEDIA_ERR_NETWORK= 2
    • MediaError.MEDIA_ERR_DECODE= 3
    • MediaError.MEDIA_ERR_NONE_SUPPORTED= 4