使用cameraManager.getSupportedCameras获取相机列表,得到的列表中仅2个可用摄像头,与真机摄像头数量不符

用官方示例获取相机列表:

let cameraArray: Array<camera.CameraDevice> = cameraManager.getSupportedCameras() 
得到的cameraArray的length是2,再用如下示例打印出摄像头信息: 
for (let index = 0; index < cameraArray.length; index++) { 
  console.info('cameraId : ' + cameraArray[index].cameraId);                          // 获取相机ID 
  console.info('cameraPosition : ' + cameraArray[index].cameraPosition);              // 获取相机位置 
  console.info('cameraType : ' + cameraArray[index].cameraType);                      // 获取相机类型 
  console.info('connectionType : ' + cameraArray[index].connectionType);              // 获取相机连接类型 
}

打印出的信息如下:

cameraId : device/0 
cameraPosition : 1 
cameraType : 0 
connectionType : 0 
 
cameraId : device/1 
cameraPosition : 2 
cameraType : 0 
connectionType : 0

问题1:cameraArray里是这个手机所有可用的摄像头,为什么只有2个,而不是4个(真机有4个)

问题2:打印出来的摄像头信息,cameraType都是0,既不是广角也不是长焦,但真机的系统相机里有广角和长焦镜头,为什么获取不到。

手机版本:2.0.0.33(SP35C00E33R4P11log)

HarmonyOS
2024-05-08 21:40:34
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
彩云汽泡泡

接口中将物理摄像头打包成了逻辑摄像头,数组中的两个元素,前置和后置是逻辑摄像头,不可以通过代码区分不同的物理摄像头。

分享
微博
QQ
微信
回复
2024-05-09 11:32:10
相关问题
相机预览及切换摄像头
949浏览 • 1回复 待解决
HarmonyOS 前置摄像头开启
57浏览 • 1回复 待解决
如何获取前置摄像头预览图像
2294浏览 • 1回复 待解决
请问3.1如何调用摄像头
2319浏览 • 1回复 待解决
HarmonyOS 录制屏幕 录制摄像头咨询
357浏览 • 1回复 待解决
录制过程HarmonyOS如何切换摄像头
340浏览 • 1回复 待解决
摄像头获取yuv数据是否有旋转
514浏览 • 1回复 待解决
HarmonyOS 摄像头预览画面方向错误
258浏览 • 1回复 待解决
HiSpark_IPC_DIY 摄像头烧录失败
5614浏览 • 3回复 待解决
寻找鸿蒙系统灯控设备、鸿蒙摄像头
5872浏览 • 2回复 待解决
鸿蒙webview调用摄像头和麦克风
2109浏览 • 0回复 待解决
HarmonyOS web组件加载h5,h5拉起摄像头
463浏览 • 1回复 待解决