Я пытаюсь воспроизвести MediaStream с удаленного узла (WebRTC) с помощью API Web Audio.Когда я присоединяю поток к элементу audio
, используя audio.srcObject = stream
, он воспроизводится нормально, но когда я пытаюсь использовать AudioContext, он вообще не воспроизводит звук (мне нужно избегать тега audio/video
HTML).
Это произведение работает:
<audio controls>
<script>
const audioEl = document.getElementsByTagName('audio')[0];
audioEl.srcObject = MY_STREAM;
audioEl.play();
</script>
Это не так:
const audioContext = new AudioContext();
const sourceNode = audioContext.createMediaStreamSource(MY_STREAM);
sourceNode.connect(audioContext.destination);
// Trying even 'audioContext.resume()' after user gesture with no luck
Что странного в том, что когда MY_STREAM
это мой микрофон , то этоиграет хорошо для Web Audio API (я слышу отзывы от моего микрофона).
Таким образом, можно предположить, что между MediaStream и микрофоном, который я получаю из соединения с WebRTC, есть что-то другое, но почему он воспроизводится для простого тега HTML audio
?