setSinkId работает только с <audio>, а не с новым Audio () - PullRequest
0 голосов
/ 17 апреля 2020

Попытка установитьSinkId на аудио узле. Я заметил, setSinkId работает только в очень специфических c обстоятельствах, и мне нужно уточнить. Примеры ведут себя аналогично в последних firefox и chrome.

Это работает:

index.html
<audio id="audio"></audio>

app.js
this.audio = document.getElementById('audio');
this.audio.src =... and .play()
this.audio.setSinkId(this.deviceId);

Это не нормально после тестирования, так как теперь каждый игрок будет делить узел. Каждому из них нужен уникальный.

Это не:

app.js
this.audio = new Audio();
this.audio.src =... and .play()
this.audio.setSinkId(this.deviceId)

Это также не работает

app.js
this.audio = document.createElement('audio');
document.body.appendChild(this.audio);
this.audio.src =... and .play()
this.audio.setSinkId(this.deviceId)

Существуют ли различия между новым Audio, createElement и аудио, присутствующим в HTML ? Почему setSinkId не работает с новым Audio ()?

...