пытается получить поток микрофона через веб-страницу.Прекрасно работает в 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" />
Кто-нибудь, есть идеи?