Phonegap Media API - Gravar e reproduzir áudio - Android
Espero gravar um pouco de áudio e depois poder reproduzi-lo. É importante para mim poderpersonalizar a interface de registro.
No exemplo abaixo, após a gravação, recebo uma duração de -1 e nenhum áudio é reproduzido.
Passo 1. AdicionadoPlug-in de mídia
cordova plugin add org.apache.cordova.media
Passo 2. My Code
Nota src é "amr" conforme solicitado nos documentos.
Os dispositivos Android gravam áudio no formato Adaptive Multi-Rate. O arquivo especificado deve terminar com uma extensão .amr.
No entanto, "myrecording.amr" não existe na minha estrutura de arquivos, pois espero que seja criado.
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>
Saída de cima
Nenhum áudio é reproduzido quando clico em reproduzir.
0 999846 log record
1 001845 log stop
2 002000 log recordAudio():Audio Success
3 004657 log play
4 008989 log -1
Qualquer ajuda seria muito apreciada. Deixe-me saber se posso responder a alguma pergunta.