Phonegap Media API - Grabar y reproducir audio - Android
Espero grabar algo de audio y luego tener la capacidad de reproducirlo. Es importante para mí poderpersonalizar la interfaz de grabación.
En el siguiente ejemplo, después de grabar, obtengo una duración de -1 y no se reproduce audio.
Paso 1. AdicionalComplemento de medios
cordova plugin add org.apache.cordova.media
Paso 2. Mi código
Tenga en cuenta que src es "amr" según lo solicitado por los documentos.
Los dispositivos Android graban audio en formato Adaptive Multi-Rate. El archivo especificado debe terminar con una extensión .amr.
Sin embargo, "myrecording.amr" no existe en la estructura de mi archivo, ya que espero que se cree.
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>
Salida desde arriba
No se reproduce audio cuando hago clic en reproducir.
0 999846 log record
1 001845 log stop
2 002000 log recordAudio():Audio Success
3 004657 log play
4 008989 log -1
Cualquier ayuda sería muy apreciada. Avísame si puedo responder alguna pregunta.