SIGN UP

Developer community

Community Support / Как установить AudioOutput
Abergasov
2017-03-07 18:18:22
Reply
Как установить AudioOutput
Добрый день. Столкнулся с проблемой выбора устройства для воспроизведения звука для пользователя. Сделал окно настроек, где отображается доступные микрофоны и колонки. Пользователь соответственно выбирает конфигурацию При вызове функции init нужно в приложении устанавливать выбранный пользователем источник звука. Выбор и установка микрофона происходят отлично, все работает. Каким образом через Web SDK при старте приложения указать AudioOutput?

Answers(7)

abergasov
2017-03-09 08:17:15
Reply
Решил проблему костылем. document.addEventListener("DOMNodeInserted", function (ev) { if (ev.srcElement.localName == "audio") { ev.srcElement.setSinkId(audioOutputID); } }, false); допилите что бы можно было при старте использовать useAudioOutput или поправьте документацию
admin
2017-03-09 08:19:06
Reply
Нет необходимости использовать костыли, есть специальная функция для этого http://voximplant.com/docs/references/websdk/classes/client.html#useaudiooutput
abergasov
2017-03-09 09:01:15
Reply
Вы сами пробовали этой функцией установить устройство?) Помимо того, что по описанию она находится в client а по факту в call, так даже если вызывать ее в call, то там она валится с ошибками.
Igor Sheko
2017-03-09 09:15:18
Reply
Какую версию WebSDK вы используете?
abergasov
2017-03-09 09:23:22
Reply
https://cdn.voximplant.com/voximplant.min.js
Igor Sheko
2017-03-09 09:28:33
Reply
Это legacy версия библиотеки, в ней нет API для установки AudioOutput. Документация для нее находится здесь. http://voximplant.com/docs/references/websdk3/ Я рекомендовал бы вам, по возможности, перейти на текущую версию библиотеки.
abergasov
2017-03-09 10:09:46
Reply
Поменял версию, теперь используется 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 complete this field.

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