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
Любая помощь будет принята с благодарностью. Дайте мне знать, если я могу ответить на любые вопросы.