Chrome расширение: запись микрофона и динамика в фоновом режиме JS - PullRequest
0 голосов
/ 02 марта 2020

Согласно последним обновлениям, как правильно записывать звук с микрофона и динамика для обработки звука в реальном времени в фоновом режиме js. Я застрял в этом, я перепробовал все api медиа записи, запись js api и chrome захват рабочего стола, но все они возвращают звук с микрофона. Никто из них не сможет захватить звук динамика. Пожалуйста, предложите способ реализации этого сценария

ниже приведен пример кода, который захватывает микрофон, но не динамики:

var audioChunks;
startRecord.onclick = e => {
  startRecord.disabled = true;
  stopRecord.disabled=false;
  // This will prompt for permission if not allowed earlier
  navigator.mediaDevices.getUserMedia({audio:true})
    .then(stream => {
      audioChunks = []; 
      rec = new MediaRecorder(stream);
      rec.ondataavailable = e => {
        audioChunks.push(e.data);
        if (rec.state == "inactive"){
          let blob = new Blob(audioChunks,{type:'audio/x-mpeg-3'});
          recordedAudio.src = URL.createObjectURL(blob);
          recordedAudio.controls=true;
          recordedAudio.autoplay=true;
          audioDownload.href = recordedAudio.src;
          audioDownload.download = 'mp3';
          audioDownload.innerHTML = 'download';
       }
      }
    rec.start();  
    })
    .catch(e=>console.log(e));
}
stopRecord.onclick = e => {
  startRecord.disabled = false;
  stopRecord.disabled=true;
  rec.stop();
}
...