Most visited

Recently visited

Added in API level 21

CameraDevice.StateCallback

public static abstract class CameraDevice.StateCallback
extends Object

java.lang.Object
   ↳ android.hardware.camera2.CameraDevice.StateCallback


用于接收有关相机设备状态更新的回调对象。

必须向 openCamera(String, CameraDevice.StateCallback, Handler)方法提供回调实例以打开相机设备。

这些状态更新包括关于设备完成启动的通知(允许调用 createCaptureSession(List , CameraCaptureSession.StateCallback, Handler) ),关于设备断开或关闭以及有关意外设备错误的通知。

关于具体的进度事件 CaptureRequests通过提供 CameraCaptureSession.CaptureCallback给予 capture(CaptureRequest, CameraCaptureSession.CaptureCallback, Handler)captureBurst(List , CameraCaptureSession.CaptureCallback, Handler) setRepeatingRequest(CaptureRequest, CameraCaptureSession.CaptureCallback, Handler) ,或 setRepeatingBurst(List , CameraCaptureSession.CaptureCallback, Handler) 方法。

也可以看看:

Summary

Constants

int ERROR_CAMERA_DEVICE

可由 onError(CameraDevice, int)报告的错误代码指示相机设备遇到致命错误。

int ERROR_CAMERA_DISABLED

可由 onError(CameraDevice, int)报告的错误代码,指示由于设备策略而无法打开相机设备。

int ERROR_CAMERA_IN_USE

可由 onError(CameraDevice, int)报告的错误代码表示相机设备已被使用。

int ERROR_CAMERA_SERVICE

可由 onError(CameraDevice, int)报告的错误代码表示相机服务遇到致命错误。

int ERROR_MAX_CAMERAS_IN_USE

可由 onError(CameraDevice, int)报告的错误代码,指示相机设备由于其他打开的相机设备过多而无法打开。

Public constructors

CameraDevice.StateCallback()

Public methods

void onClosed(CameraDevice camera)

当相机设备已关闭时调用的方法 close()

abstract void onDisconnected(CameraDevice camera)

当相机设备不再可用时调用此方法。

abstract void onError(CameraDevice camera, int error)

当相机设备遇到严重错误时调用该方法。

abstract void onOpened(CameraDevice camera)

摄像机设备完成打开时调用的方法。

Inherited methods

From class java.lang.Object

Constants

ERROR_CAMERA_DEVICE

Added in API level 21
int ERROR_CAMERA_DEVICE

可由 onError(CameraDevice, int)报告的错误代码指示相机设备遇到致命错误。

相机设备需要重新打开才能再次使用。

也可以看看:

常量值:4(0x00000004)

ERROR_CAMERA_DISABLED

Added in API level 21
int ERROR_CAMERA_DISABLED

可由 onError(CameraDevice, int)报告的错误代码,表示相机设备由于设备策略而无法打开。

也可以看看:

常量值:3(0x00000003)

ERROR_CAMERA_IN_USE

Added in API level 21
int ERROR_CAMERA_IN_USE

可由 onError(CameraDevice, int)报告的错误代码表示相机设备已被使用。

由于相机正被较高优先级的相机API客户端使用,打开相机失败时可能会产生此错误。

也可以看看:

常数值:1(0x00000001)

ERROR_CAMERA_SERVICE

Added in API level 21
int ERROR_CAMERA_SERVICE

可由 onError(CameraDevice, int)报告的错误代码指示相机服务遇到致命错误。

Android设备可能需要关闭并重新启动以恢复相机功能,否则可能存在硬件问题。

通过关闭CameraDevice和CameraManager,尝试恢复 可能是可能的,并试图从头开始重新获取所有资源。

也可以看看:

常量值:5(0x00000005)

ERROR_MAX_CAMERAS_IN_USE

Added in API level 21
int ERROR_MAX_CAMERAS_IN_USE

可由 onError(CameraDevice, int)报告的错误代码,指示相机设备由于其他打开的相机设备过多而无法打开。

开放式摄像机的系统范围限制已经达到,并且在先前实例关闭之前无法打开更多的摄像机设备。

打开相机失败时可能会产生此错误。

也可以看看:

常量值:2(0x00000002)

Public constructors

CameraDevice.StateCallback

Added in API level 21
CameraDevice.StateCallback ()

Public methods

onClosed

Added in API level 21
void onClosed (CameraDevice camera)

当相机设备已关闭时调用的方法 close()

任何未来在此CameraDevice上调用方法的尝试都会抛出 IllegalStateException

此方法的默认实现不做任何事情。

Parameters
camera CameraDevice: the camera device that has become closed

onDisconnected

Added in API level 21
void onDisconnected (CameraDevice camera)

当相机设备不再可用时调用此方法。

如果打开相机失败,可能会调用此回调而不是 onOpened(CameraDevice)

在CameraDevice上调用方法的任何尝试都会抛出CameraAccessException 断开连接可能是由于安全策略或权限的更改造成的; 可拆卸相机设备的物理断开; 或者更高优先级的相机API客户端需要相机。

在调用此方法后可能会调用捕获回调,或传递到活动输出的新图像缓冲区。

默认实现会在系统日志中记录关于断开连接的通知。

在发生这种情况之后,您应该用close()清理相机,因为在相机可以再次打开之前无法恢复。 对于大多数使用情况,这将是当相机再次变为available

Parameters
camera CameraDevice: the device that has been disconnected

onError

Added in API level 21
void onError (CameraDevice camera, 
                int error)

当相机设备遇到严重错误时调用该方法。

如果打开相机失败,可能会调用此回调而不是 onOpened(CameraDevice)

这表示相机设备或相机服务以某种方式失败。 任何尝试在未来调用此CameraDevice方法时都会抛出CameraAccessExceptionCAMERA_ERROR原因。

在收到此错误后,可能仍会捕捉完成或摄像机流回调。

发生这种情况后,应该用close()清理相机。 进一步的恢复尝试是错误代码特定的。

Parameters
camera CameraDevice: The device reporting the error
error int: The error code, one of the StateCallback.ERROR_* values.

也可以看看:

onOpened

Added in API level 21
void onOpened (CameraDevice camera)

摄像机设备完成打开时调用的方法。

此时,相机设备已准备好使用,并且可以调用 createCaptureSession(List , CameraCaptureSession.StateCallback, Handler) 来设置第一个捕获会话。

Parameters
camera CameraDevice: the camera device that has become opened

Hooray!