Аудио запись пуста на сафари ios - PullRequest
0 голосов
/ 11 мая 2019

Я использовал RecordRTC для записи аудио и отправки его в API преобразования речи в текст.

Каким-то образом все работает отлично, за исключением использования Safari IOS.
При использовании Safari IOS, запись, которую я извлекаю как строку base64,
каким-то образом возвращается пустым из объекта рекордера.

Ответы на предыдущие вопросы об использовании другой библиотеки,
Тем не менее, документы для RecordRTC специально говорят, что он полностью поддерживает Safari IOS.

Не могли бы вы помочь мне разобраться в проблеме и найти обходной путь?
Мой код:

    async initMic() {
      let stream = await navigator.mediaDevices.getUserMedia({video: false, audio: true});
      mic = new RecordRTCPromisesHandler(stream, { 
        type: 'audio',
        mimeType: 'audio/wav',
        recorderType: RecordRTC.StereoAudioRecorder,
        sampleRate: 48000,
        numberOfAudioChannels: 1,
      });
    },

    async sendRecording() {
      let vm = this;
      mic.stopRecording(function() {
        mic.getDataURL(function(dataURL) {
            vm.$store.dispatch('UpdateAudioBase64', dataURL.replace('data:audio/wav;base64,', ''));
            mic.reset();
            vm.$emit('send-recording');
        });
      });
    },

** Строка 'replace' предназначена для удаления заголовка base64
перед отправкой в ​​API преобразования текста в текст (потребности API).

Спасибо!

...