Estoy creando una aplicación de navegador WebRTC. Uso Agora Web SDK 4.7.0, pero esto no debería afectar la solución.
Agora tiene el método AgoraRTC.getDevices() que se basa internamente en enumerateDevices (AFAIK) y funciona como se esperaba en Android, devolviendo una lista de todas las cámaras en el dispositivo, pero en un iPhone solo devuelve una "Cámara frontal" y una " Camara trasera". Faltan dos cámaras traseras más.
Es de la misma manera cuando abre cualquier sitio web de "prueba de cámara web en línea" en nuestro iPhone, solo enumera dos cámaras para elegir, mientras que en Android las verá todas.
¿Hay alguna forma de hacerlos accesibles o de alguna manera obtener la deviceID del dispositivo de las cámaras de gran angular y zoom en un iPhone?
Con el SDK nativo, puede crear una AVCaptureSession y seleccionar la cámara y enviar esa transmisión directamente a Agora. Espero que haya una forma similar de crear una sesión de cámara a través de la web, elegir la cámara y enviar esa transmisión a Agora.
Aquí hay un artículo sobre fuentes de video personalizadas en la web, por lo que si crea una secuencia de cámara de la lente ancha, esto ayudará a impulsarla al motor de ágora:
https://docs.agora.io/en/Video/custom_video_web?platform=Web