Я использовал медиа-рекордер (html5 -audio-record) для записи аудио в android веб-просмотре, и это работает, но иногда я не получал никаких данных и блоб не менялся! Я закрываю свою android активность и состояния фиксируются для каждого теста, но первый раз работает хорошо, а в следующий раз не работает. почему e.data обнуляется, когда я прекратил запись?
JS код:
navigator.mediaDevices.getUserMedia(
{audio : true}
).then(function(stream) {
chunks[index] = [];
recorder[index] = new MediaRecorder(stream);
recorder[index].ignoreMutedMedia = false;
recorder[index].ondataavailable = function(e) {
chunks[index].push(e.data);
if (recorder[index].state == 'inactive') {
var blob = new Blob(chunks[index], { type: 'audio/webm' });
recorder[index].ondataavailable = null;
uploadFile(blob, index);
}
};
if(recorder[index] != 'recording')
recorder[index].start(1000); //recorder[index].start();
}).catch(function(index) {
microphoneError();
});