Android Camera1相机预览

本文介绍了如何在Android中使用Camera1进行相机预览,包括相机的打开、关闭、切换、设置预览尺寸和显示旋转角度等操作,并展示了如何在后台线程中安全执行这些操作。同时,文章还提到了相机回调接口OnCameraListener及其相关实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 切换相机
    /
    void switchCamera(int facing);
    /
    *
  • 设置Facing
    /
    void setCameraFacing(int facing);
    /
    *
  • 获取Facing
    /
    int getCameraFacing();
    /
    *
  • 设置预览尺寸
    /
    void setPreviewSize(Size cameraSize);
    /
    *
  • 获取预览尺寸
    /
    Size getPreviewSize();
    /
    *
  • 设置显示旋转角度
    /
    void setDisplayOrientation(int displayOrientation);
    /
    *
  • 获取显示旋转角度
    /
    int getDisplayOrientation();
    /
    *
  • 释放相机
    /
    void releaseCamera();
    /
    *
  • 添加相机回调
    /
    void addOnCameraListener(OnCameraListener onCameraListener);
    /
    *
  • 移除相机回调
    /
    void removeOnCameraListener(OnCameraListener onCameraListener);
    /
    *
  • 移除所有回调
    */
    void removeAllOnCameraListener();
    }

注意到,里面有个相机回调OnCameraListener,这是自定义的一个相机回调

public interface OnCameraListener {
/**

  • 相机打开
    */
    void onCameraOpened(Size cameraSize, int facing);

/**

  • 相机关闭
    */
    void onCameraClosed();

/**

  • 相机异常
    */
    void onCameraError(Exception e);
    }

接下来,我们新建CameraManager,实现ICamera接口

public class CameraManager i 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》无偿开源 徽信搜索公众号【编程进阶路】 mplements ICamera {
/**

  • Camera实现
    */
    private final ICamera camera = new Camera1();

/**

  • 后台线程
    */
    private Handler handler;
    private HandlerThread thread;

@

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值