switchCam Safari

ndavydov

New Member
Здравствуйте, персистит проблема с ошибкой в Safari и Firefox при использовании switchCam

Unhandled Promise Rejection: Number of cams is less than 2 or camera is already used by other application

В Google Chrome все работает исправно

Подебажив ваш SDK стало понятно, что в момент получения доступов на девайсы (здесь), записывается почему-то всего 1 камера без deviceId
1739201129214.png

В момент вызова switchCam не проходит условие здесь, videoCams в этом месте содержат список из одного этого девайса с id: "", это приводит к ошибке, о которой написано выше

В Google Chrome это выглядит вот так, и switchCam отрабатывает нормально
1739201155989.png


Поведение повторяется так же на Safari iOS
 

Max

Administrator
Staff member
Добрый день.
Уточните, пожалуйста, следующее:
1. Используемая версия WebSDK (судя по хэшу, не последняя)
2. Используемая версия Safari, MacOS/iOS
3. Устройство, на котором воспроизводится проблема (выглядит так, что Safari отдает всего одну камеру)
 

ndavydov

New Member
1. 2.0.253
2. Safari Версия 17.5 (19618.2.12.11.6), MacOS 14.5, iOS 18.3, Firefox 135.0 (aarch64)
3. Воспроизводится везде, и на iOS, и на MacOS (Firefox и Safari), работает нормально только на MacOS Chrome, на windows не пробовал
 

Max

Administrator
Staff member
Попытались воспроизвести проблему в MacOS Safari 17.5 (Mac mini M1, MacOS 13.6.4), используя пример Media Devices, сборка WebSDK 2.0.254:
1. Подключили две веб-камеры по USB
2. Открыли страницу примера в Safari, в консоли отобразились две камеры
1739259127696.png

3. Опубликовали поток с камерой, выбранной по умолчанию.
4. Нажали на кнопку Switch
1739259205683.png

в консоли видно успешное переключение на следующую камеру
1739259238692.png


Выглядит так, что в нашем примере на нашем тестовом стенде проблема не воспроизводится. Попробуйте воспроизвести ее в примере Media Devices. Также проверьте, даны ли разрешения браузерам на все подключенные камеры. Если проблема в нашем примере не воспроизводится, модифицируйте код примера минимально таким образом, чтобы проблема начала воспроизводиться, и пришлите код нам, используя эту форму.
 
Top