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方法时都会抛出CameraAccessException和CAMERA_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!