Я использую PhoneGap MediaRecorder для записи звука на IOS. Там есть запись, остановка записи и кнопка воспроизведения. Он работает нормально, за исключением того, что когда я нажимаю «запись / остановка» снова, чтобы попытаться сделать другую запись, он по-прежнему воспроизводит первую сделанную мной запись.
Как перезаписывать предыдущую запись каждый раз, когда я нажимаю кнопку записи, или «очищать» данные большого двоичного объекта? Спасибо.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log("device ready to go.");
console.log(navigator.mediaDevices.getUserMedia);
}
navigator.mediaDevices.getUserMedia({
'audio': true
}).then(function(mediastream) {
var options = { mimeType : 'audio/wav'};
var mediaRecorder = new MediaRecorder(mediastream, options);
//start recording
Appery("RecordAudioButton").click(function() {
mediaRecorder.start();
console.log(mediaRecorder.state);
console.log("recorder started");
});
//stop recording
Appery("StopRecord").click(function() {
mediaRecorder.stop();
console.log(mediaRecorder.state);
console.log("recorder stopped");
});
//play recording
mediaRecorder.ondataavailable = function(blob) {
var audioURL = mediaRecorder.src;
if(device.platform === 'iOS') { // iOS ; cordova-plugin-device required for this check
Appery("audioPlayer").attr("src", audioURL);
} else {
var recordedChunks = [];
recordedChunks.push(blob.data);
audioURL.src = URL.createObjectURL(new Blob(recordedChunks)); // Android device
}
};
});