SIGN UP

Developer community

Community Support / General questions

Как установить AudioOutput

Abergasov
Добрый день. Столкнулся с проблемой выбора устройства для воспроизведения звука для пользователя. Сделал окно настроек, где отображается доступные микрофоны и колонки. Пользователь соответственно выбирает конфигурацию При вызове функции init нужно в приложении устанавливать выбранный пользователем источник звука. Выбор и установка микрофона происходят отлично, все работает. Каким образом через Web SDK при старте приложения указать AudioOutput?

Answers (4)

abergasov
Решил проблему костылем. document.addEventListener("DOMNodeInserted", function (ev) { if (ev.srcElement.localName == "audio") { ev.srcElement.setSinkId(audioOutputID); } }, false); допилите что бы можно было при старте использовать useAudioOutput или поправьте документацию
admin
Нет необходимости использовать костыли, есть специальная функция для этого http://voximplant.com/docs/references/websdk/classes/client.html#useaudiooutput
abergasov
Вы сами пробовали этой функцией установить устройство?) Помимо того, что по описанию она находится в client а по факту в call, так даже если вызывать ее в call, то там она валится с ошибками.
Igor Sheko
Какую версию WebSDK вы используете?
abergasov
https://cdn.voximplant.com/voximplant.min.js
Igor Sheko
Это legacy версия библиотеки, в ней нет API для установки AudioOutput. Документация для нее находится здесь. http://voximplant.com/docs/references/websdk3/ Я рекомендовал бы вам, по возможности, перейти на текущую версию библиотеки.
abergasov
Поменял версию, теперь используется src="https://cdn.voximplant.com/edge/voximplant.min.js" При вызове useAudioOutput ошибки не сыпятся, но увы, аудио устройство так же не меняется. Id устройств корректные, получены через audioOutputs(). Возможно при событии SDKReady. Возможно в другом месте надо использовать? vox = VoxImplant.getInstance(); vox.init({micRequired: true, progressTone: true}); vox.addEventListener(VoxImplant.Events.SDKReady, function () { vox.connect(); vox.useAudioSource(audioSorce_id, function() { console.log('AudioSource seted sucsessfull'); }, function() { console.log('AudioSource failed to set'); }); vox.useAudioOutput(audioOutput_id); });

Add your comment

Please, enter valid email

Get your free developer account or talk with our sales team to learn more about Voximplant solutions
SIGN UP
Contact sales

Please complete this field.

Please complete this field.

Please complete this field.

Choose the solution

Please complete this field.

Please complete this field.