enumerateCameras static method
Implementation
static List<CameraInfo> enumerateCameras(VideoCaptureAPIs apiPreference, {int maxCameras = 10}) {
final cameras = <CameraInfo>[];
for (var cameraIndex = 0; cameraIndex < maxCameras; cameraIndex++) {
final camera = VideoCapture.fromDevice(cameraIndex, apiPreference: apiPreference.value);
if (camera.isOpened) {
final width = camera.get(CAP_PROP_FRAME_WIDTH);
final height = camera.get(CAP_PROP_FRAME_HEIGHT);
final fps = camera.get(CAP_PROP_FPS);
final frameFormat = camera.get(CAP_PROP_FORMAT).toInt();
final name = 'video_${parseFrameFormat(frameFormat)}';
camera.release();
cameras.add(
CameraInfo(
name: name,
width: width.toInt(),
height: height.toInt(),
fps: fps,
cameraIndex: cameraIndex,
backend: apiPreference,
),
);
}
}
return cameras;
}