Я хочу воспроизвести одно и то же аудио MediaStream на двух разных устройствах вывода аудио со следующим кодом:
const audio0 = new Audio('/audio.mp3')
audio0.play()
const stream = audio0.captureStream()
const audio1 = new Audio()
audio1
.setSinkId('552a19eb3a0e0c496c1967d4d503f1fe78f66eb213b3bea48ba5b2f672bb1241')
.then(() => {
console.log('audio1 setSinkId was successful', audio1.sinkId)
})
.catch(err => {
console.log('audio1 setSinkId failed', err.name, err.message)
})
audio1.srcObject = stream
Вызов setSinkId выполнен успешно, и audio1.sinkId
настроен на правильный идентификатор устройства * 1005.* (внутренние динамики), однако, в результате получается, что audio0 и audio1 воспроизводятся на устройстве 'default'
(парные наушники Bluetooth).
Я ожидаю, что audio0 будет воспроизводиться на устройстве по умолчанию, а audio1 должно воспроизводиться на другом, указанный в deviceId 'ID'
.
Любопытно, что если я setSinkId
audio0 для воспроизведения на устройстве '[ID]'
и просто позволяю audio1 воспроизводиться по умолчанию, он работает, я слышу звук на обоих устройстваходновременно.
const audio0 = new Audio('/audio.mp3')
.setSinkId('552a19eb3a0e0c496c1967d4d503f1fe78f66eb213b3bea48ba5b2f672bb1241')
.then(() => {
console.log('audio0 setSinkId was successful', audio0.sinkId)
})
.catch(err => {
console.log('audio0 setSinkId failed', err.name, err.message)
})
audio0.play()
const stream = audio0.captureStream()
const audio1 = new Audio()
audio1.srcObject = stream