Как передать музыку с сайта на микрофон?
Надо 
1. Очень мощный микрофон с маленьким сопротивлением.
2. Плагин для JS - AudioToMic (погуглите).
Подключаете плагин, прописываете в скрипте - 
audio.src('browser') = $_(document).getElementByType('microphone');
audio.playMicRockNRoll(track,volume');
3. Готово! Слушаете звук с микрофона ))
Вам нужно записать звук, идущий с сайта?
Гуглить надо «audio loopback [ваша ОС]».
У меня, допустим, сработало вот это.
manual.audacityteam.org/man/tutorial_recording_com...
Трещит страшно (у меня в «продвинутой» звуковой каналы переключаются тёплыми электромагнитными релюшками), но работает.
Работает ли Protected Media Path и как он поведёт себя на закопирайченных данных — шут его знает. Проверял на банальном YouTube, там никакой защиты от копирования нет.
Если же хотите не просто записать звук, а средствами JavaScript… Гуглите «javascript sound recording». Правда, на JS нет автоматического выбора, какое устройство считать микрофоном — так что пользователь должен убедиться, что в драйверах есть loopback-устройство, включить звукозапись и в качестве микрофона взять loopback (у меня оно «из коробки» и называется Stereo Mix). Без вмешательства пользователя, получается, никак. Сделано это специально: устройств звукозаписи бывает много, и одни задачи, например, выполняются студийным микрофоном с USB-платой, другие — наушниками с микрофоном, третьи — вебкой. К тому же окружающий звук — это очень-очень чувствительная информация, и без согласия пользователя писать что бы то ни было недопустимо.
У меня сработали не все звукозаписывалки, вот эта, например, сработала (одна вкладка «лисички» проигрывала, вторая писала): https://p5js.org/examples/examples/Sound__Record_S...
Повторяю, пользователь должен в качестве микрофона выбрать loopback-устройство, и без этого никак! Устройство должно существовать, и пользователь его должен выбрать.
А если воткнуть колонки в порт микрофона и выдать на них звук — надо разбираться с аудиоустройствами и аудиодрайверами, и JS этого точно не может.