Переключите OpenTok Publisher на конкретное c видеоустройство - PullRequest
0 голосов
/ 07 апреля 2020

При желании изменить устройство ввода звука (т.е. микрофон) объекта OpenTok Publisher, вы можете использовать:

Publisher.setAudioSource(<id_of_microphone_device_here>)

..., чтобы указать, какое микрофон, на который вы хотите переключиться.


Однако, если вы хотите изменить источник видео (то есть камеру), единственный вариант [который я смог найти] - это используйте:

Publisher.cycleVideo()

... который возвращает (через обещание) идентификатор мультимедийного устройства / веб-камеры, на которую вы переключились, «зацикливая» шаг вверх.

Есть ли способ, который я могу использовать для специального переключения на идентификатор видеоустройства по своему выбору, без необходимости:

a. Повторно инициализировать мой Publisher объект?

-или-

b. Циклически переключаться между моими видеоустройствами, пока я не найду то, что мне нужно?


Я спрашиваю, потому что, ради аргумента, предположим, что у пользователя есть 10 входов камеры - некоторые из которых они не sh для "циклического просмотра" в прямом эфире, чтобы перейти к желаемому.

Возможно ли настроить таргетинг идентификатора видеоустройства так же, как мы можем для аудиоустройства?

Что-то, что я попытался сделать, чтобы «взломать» это для работы, - сначала отключить видеовыход издателя (Publisher.publishVideo(false)), пролистать, чтобы найти тот, который я хочу, и затем «снова включить» видео вывод. Однако отключение видеовыхода издателя, к сожалению, приводит к тому, что он не может переключаться между видеоустройствами.

1 Ответ

1 голос
/ 20 апреля 2020

OpenTok Developer Advocate здесь.

В отличие от setAudioSource, нет сравнительного метода для видео.

Одной из альтернатив будет публикация sh видео на холсте и использование его в качестве источника для издателя. Вы можете узнать больше об этом в https://tokbox.com/developer/guides/publish-stream/js/#canvas.

Затем используйте MediaDevices.enumerateDevices(), чтобы идентифицировать ваше устройство и записать его вывод на холст. https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices

...