Как мне получить данные с медиа-рекордера в android веб-просмотра? - PullRequest
0 голосов
/ 22 января 2020

Я использовал медиа-рекордер (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();
            });

enter image description here

1 Ответ

0 голосов
/ 22 января 2020

Я решил проблему, добавив эти коды в активность. java!

@Override
protected void onDestroy() {
    myWebView.destroy();
    myWebView = null;
    super.onDestroy();
}
...