You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中如何获取手机前后置摄像头的像素值?

获取手机摄像头像素值的Flutter方案

以下是无需启动摄像头就能获取摄像头像素值的可行方案:

  • device_info_plus
    这是目前维护最活跃的设备信息获取包,支持直接读取硬件规格参数,无需调用摄像头:

    • Android端:通过AndroidDeviceInfo中的cameraInfo字段(部分设备需适配字段结构),可直接获取前后置摄像头的像素参数;
    • iOS端:通过IosDeviceInfo的cameraPixels字段,能分别拿到前置、后置摄像头的像素值。
  • flutter_device_info(不推荐)
    功能与前者类似,但维护活跃度较低,仅作为备选方案,同样可以在不启动摄像头的前提下读取硬件参数。

为什么camera包无法满足需求

camera包的定位是摄像头功能调用(预览、拍照、录像等),API设计聚焦于摄像头的实时操作,而非硬件规格查询,因此无法直接获取像素参数。

简单代码示例(device_info_plus)

import 'package:device_info_plus/device_info_plus.dart';
import 'dart:io';

Future<void> fetchCameraResolution() async {
  final deviceInfo = DeviceInfoPlugin();
  if (Platform.isAndroid) {
    final androidInfo = await deviceInfo.androidInfo;
    // 不同厂商设备的cameraInfo字段结构可能有差异,需按需适配
    print("后置摄像头像素:${androidInfo.cameraInfo?['back']}");
  } else if (Platform.isIOS) {
    final iosInfo = await deviceInfo.iosInfo;
    print("后置摄像头像素:${iosInfo.cameraPixels?['back']}");
    print("前置摄像头像素:${iosInfo.cameraPixels?['front']}");
  }
}

注意事项

不同品牌、系统版本的设备,返回的字段结构可能存在差异,需要做好兼容性判断与适配,确保在主流设备上能稳定获取数据。

内容的提问来源于stack exchange,提问作者taaba asim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 01:16:58