Web API - проблема с микрофоном в Chrome - PullRequest
0 голосов
/ 27 сентября 2019

пытается получить поток микрофона через веб-страницу.Прекрасно работает в Firefox, но, к сожалению, Chrome не реагирует на mic-stream ...

здесь код мира:

$(function () {
            $('#btn_001').click(function () {
                startRecording();
            });
        });

        function startRecording() {

            var micBufferSize = 512;
            var mediaConstraints = window.constraints = { audio: true, video: false };

            window.AudioContext = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.oAudioContext || window.msAudioContext;
            let audioCtx = new AudioContext();

            navigator.mediaDevices.getUserMedia(mediaConstraints).then(onMicrophoneStream).catch(onMicrophoneStreamError);
            
            function onMicrophoneStream(stream) {
                let micStream = audioCtx.createMediaStreamSource(stream);
                var scriptProcessorNode = audioCtx.createScriptProcessor(micBufferSize, 1, 1);
                scriptProcessorNode.onaudioprocess = onAudioProcess;
                micStream.connect(scriptProcessorNode);
            }
            function onMicrophoneStreamError(e) {
                console.log('onMicrophoneStreamError', e);
            }

            function onAudioProcess(e) {
                // console.log('onAudioProcess');
                if (audioCtx.state === 'suspended') {
                    audioCtx.resume();
                }
                var micOutBuff = e.inputBuffer.getChannelData(0); // incoming microphone stream is Float32
                console.log(micOutBuff);
            }
        }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<input type="button" id="btn_001" value="Click" />

Кто-нибудь, есть идеи?

...