PhoneGap Media API - запись и воспроизведение аудио - Android

Я надеюсь записать немного аудио, а затем иметь возможность воспроизвести его. Для меня важно иметь возможностьнастроить интерфейс записи.

В приведенном ниже примере после записи я получаю длительность -1 и звук не воспроизводится.

Шаг 1. добавленнойМедиа Плагин

cordova plugin add org.apache.cordova.media

Шаг 2. Мой код

Обратите внимание, что src - это "amr" в соответствии с требованиями документации.

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

Тем не менее, «myrecording.amr» не существует в моей файловой структуре, так как я надеюсь, что он будет создан.

Javascript

var data = {
  rec: ""
};
$scope.record = function(){
    console.log('record');
    var src = "myrecording.amr";
    data.rec = new Media(src,
    function() {
      console.log("recordAudio():Audio Success");
    },

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

    data.rec.startRecord();
}

$scope.stopRecording = function(){
    console.log('stop');
    data.rec.stopRecord();
}

$scope.playRecording = function(){
    console.log('play');
    data.rec.play();
}

$scope.logDuration = function(){
    console.log(data.rec.getDuration());
}

HTML

<button ng-click="record()">Record</button>
<button ng-click="stopRecording()">Stop Record</button>
<button ng-click="playRecording()">Play Record</button>
<button ng-click="logDuration()">Log Duration</button>

Выход сверху

Когда я нажимаю кнопку воспроизведения, звук не воспроизводится.

0     999846   log      record
1     001845   log      stop
2     002000   log      recordAudio():Audio Success
3     004657   log      play
4     008989   log      -1

Любая помощь будет принята с благодарностью. Дайте мне знать, если я могу ответить на любые вопросы.

Ответы на вопрос(2)

Ваш ответ на вопрос