Как получить исходный медиапоток от подписчика OpenTok? (Интернет)

Мне удалось получить медиапоток, который OpenTok прикрепляет к элементу video, но похоже, что OpenTok создает audioContext.createMediaStreamSource из начального медиапотока, полученного от PeerConnection, и я получаю скорректированный, а не исходный.

Это вызывает проблему из-за политики автовоспроизведения аудио, которую Chrome скоро активирует и которая уже есть в iOS Safari. Если мы вызываем session.subscriber() не внутри обработчика onClick (жест пользователя), то экземпляр AudioContext переводится в состояние suspended, поэтому звука нет.

Я хочу отключить audioContext OpenTok, создать свой собственный audioContext и управлять звуком по своему усмотрению, но в настоящее время я не могу найти способ сделать это.


person GProst    schedule 12.12.2018    source источник


Ответы (1)


Адам из команды OpenTok.

Полезно знать о проблеме audioContext в Chrome с автозапуском. Как вы воспроизводите эту проблему? У вас на самом деле нет звука или просто не работает индикатор уровня звука? Вот для чего используется аудиоконтекст.

Вы пробовали последнюю версию 2.15.4? У нас есть исправление для проблемы автозапуска, которая разделяет аудио и видео на отдельные элементы, чтобы видео могло продолжать воспроизводиться, а затем поверх видео отображается значок отключения звука, предлагающий пользователю щелкнуть его, чтобы запустить воспроизведение аудио.

В настоящее время у нас нет способа отключить audioContext OpenTok. Я создал билет запроса функции для этого внутри.

person Adam Ullman    schedule 13.12.2018
comment
Эй, Адам! Спасибо за ответ. На самом деле, я думаю, что это была ложная тревога с моей стороны в отношении политики автозапуска браузера Chrome. Там все работает хорошо, похоже, что Chrome приостанавливает AudioContext только в том случае, если к моменту создания экземпляра вообще не было никаких жестов пользователей. Но у нас была проблема с iOS Safari, когда нам приходилось отключать звук потока по умолчанию, чтобы пользователь включал его щелчком мыши. Мы использовали библиотеку opentok-react версии 0.8.0, теперь используя SDK напрямую. Загрузка OpenTok со static.opentok.com (v2), но переход на npm. Вы знаете об этой проблеме с iOS или она должна быть решена после обновления версии SDK? - person GProst; 13.12.2018
comment
В нашем SDK есть известная ошибка (мы работаем над исправлением), которая означает, что пользовательский интерфейс уровня звука в подписчике не работает (как и события audioLevelUpdated) в Safari, если вы сначала не опубликуете. Это то, что вы называете проблемой iOS Safari? - person Adam Ullman; 14.12.2018