You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

17 KiB

cordova-plugin-media

Этот плагин предоставляет возможность записывать и воспроизводить аудио файлы на устройство.

Примечание: Текущая реализация не соответствует спецификации W3C для захвата СМИ и предоставляется только для удобства. Будущее осуществление будет придерживаться последней спецификации W3C и может Опознайте текущих API.

Установка

cordova plugin add cordova-plugin-media

Поддерживаемые платформы

  • Android
  • BlackBerry 10
  • iOS
  • Windows Phone 7 и 8
  • Tizen
  • Windows 8

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: Остановка воспроизведения звукового файла.

Дополнительные ReadOnly параметры

  • позиции: позиция в аудио воспроизведения в секундах.

    • Не автоматически обновляются во время игры; Вызовите 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

Освобождает ресурсы аудио базовой операционной системы. Это особенно важно для Android, так как существует конечное количество экземпляров OpenCore для воспроизведения мультимедиа. Приложения должны вызвать release функция для любого Media ресурс, который больше не нужен.

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

Особенности BlackBerry 10

  • Не поддерживается на устройствах BlackBerry OS 5.

media.setVolume

Задайте громкость звукового файла.

media.setVolume(volume);

Параметры

  • объем: тома, чтобы задать для воспроизведения. Значение должно быть в диапазоне от 0.0 до 1.0.

Поддерживаемые платформы

  • Android
  • 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();

Поддерживаемые платформы

  • Android
  • iOS
  • Windows Phone 7 и 8
  • Windows 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();
}

Особенности Android

  • Android устройств записи аудио в формате адаптивной мульти ставка. Указанный файл должен заканчиваться .amr расширение.

Особенности iOS

  • iOS только записи в файлы типа .wav и возвращает ошибку, если расширение не исправить.

  • Если полный путь не указан, запись помещается в приложения documents/tmp каталог. Это могут быть доступны через File API с помощью LocalFileSystem.TEMPORARY . Любой подкаталог, указанный на время записи должны уже существовать.

  • Файлы могут быть и сыграны записываются обратно, используя документы URI:

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

Совместимости Windows 8

  • Если не указан полный путь, запись помещается в каталоге AppData/temp. Это могут быть доступны через Файл С помощью API LocalFileSystem.TEMPORARY или ' ms-appdata: / / / temp /' 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();

Поддерживаемые платформы

  • Android
  • iOS
  • Windows Phone 7 и 8
  • Windows 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

A MediaError объект возвращается к mediaError функции обратного вызова при возникновении ошибки.

Параметры

  • code: один из стандартных кодов ошибок, перечисленных ниже.

  • сообщение: сообщение об ошибке, с подробными сведениями об ошибке.

Константы

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