Most visited

Recently visited

Added in API level 21

CameraCaptureSession.StateCallback

public static abstract class CameraCaptureSession.StateCallback
extends Object

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


用于接收有关摄像头捕获会话状态更新的回调对象。

Summary

Public constructors

CameraCaptureSession.StateCallback()

Public methods

void onActive(CameraCaptureSession session)

当会话开始主动处理捕获请求时,将调用此方法。

void onClosed(CameraCaptureSession session)

当会话关闭时调用此方法。

abstract void onConfigureFailed(CameraCaptureSession session)

如果会话无法按请求进行配置,则调用此方法。

abstract void onConfigured(CameraCaptureSession session)

摄像机设备完成自身配置后会调用此方法,并且会话可以开始处理捕获请求。

void onReady(CameraCaptureSession session)

每次会话没有更多的捕获请求处理时,都会调用此方法。

void onSurfacePrepared(CameraCaptureSession session, Surface surface)

此方法在输出Surface的缓冲区预分配完成时调用。

Inherited methods

From class java.lang.Object

Public constructors

CameraCaptureSession.StateCallback

Added in API level 21
CameraCaptureSession.StateCallback ()

Public methods

onActive

Added in API level 21
void onActive (CameraCaptureSession session)

当会话开始主动处理捕获请求时,将调用此方法。

如果在调用 onConfigured(CameraCaptureSession)之前提交捕获请求,那么会话将在回调后立即开始处理这些请求,并且此方法将在 onConfigured(CameraCaptureSession)后立即调用。

如果会话用完了捕获请求来处理和调用 onReady(CameraCaptureSession) ,那么一旦提交新的请求进行捕获,就会再次调用此回调。

Parameters
session CameraCaptureSession: the session returned by createCaptureSession(List , CameraCaptureSession.StateCallback, Handler)

onClosed

Added in API level 21
void onClosed (CameraCaptureSession session)

当会话关闭时调用此方法。

当父摄像机设备创建新会话,或者父摄像机设备关闭时(由用户关闭设备或由于摄像机设备断开连接或致命错误),会话关闭。

一旦会话关闭,其上的所有方法都将抛出IllegalStateException,并且任何重复请求或突发都会停止(就像调用了stopRepeating() )。 但是,提交给会议的任何正在进行的捕获请求将如常完成。

Parameters
session CameraCaptureSession: the session returned by createCaptureSession(List , CameraCaptureSession.StateCallback, Handler)

onConfigureFailed

Added in API level 21
void onConfigureFailed (CameraCaptureSession session)

如果会话无法按请求进行配置,则调用此方法。

如果请求的输出集包含不受支持的大小,或者一次请求太多的输出,则会发生这种情况。

会话被认为是关闭的,并且在调用此回调后调用的所有方法都会引发IllegalStateException。 在回调之前提交给会话的任何捕获请求都将被丢弃,并且不会对其听众产生任何回调。

Parameters
session CameraCaptureSession: the session returned by createCaptureSession(List , CameraCaptureSession.StateCallback, Handler)

onConfigured

Added in API level 21
void onConfigured (CameraCaptureSession session)

摄像机设备完成自身配置后会调用此方法,并且会话可以开始处理捕获请求。

如果捕获请求已经与会话排队,那么一旦调用该回调,它们就会开始处理,并且会在调用此回调之后立即调用 onActive(CameraCaptureSession)

如果没有提交捕获请求,那么会话将在此回调后立即调用 onReady(CameraCaptureSession)

如果摄像机设备配置失败,则将调用 onConfigureFailed(CameraCaptureSession)而不是此回调。

Parameters
session CameraCaptureSession: the session returned by createCaptureSession(List , CameraCaptureSession.StateCallback, Handler)

onReady

Added in API level 21
void onReady (CameraCaptureSession session)

每次会话没有更多的捕获请求处理时,都会调用此方法。

在创建新会话期间,如果在完成配置之前没有捕获请求提交给会话,则在 onConfigured(CameraCaptureSession)之后 onConfigured(CameraCaptureSession)调用此回调。

否则,只要会话完成处理其所有活动的捕获请求,就会调用此回调,并且不会建立重复请求或突发。

Parameters
session CameraCaptureSession: the session returned by createCaptureSession(List , CameraCaptureSession.StateCallback, Handler)

onSurfacePrepared

Added in API level 23
void onSurfacePrepared (CameraCaptureSession session, 
                Surface surface)

此方法在输出Surface的缓冲区预分配完成时调用。

输出Surface的缓冲区预分配由prepare(Surface)调用启动。 虽然分配正在进行中,但Surface不能用作捕获目标。 一旦这个回调触发,提供的输出Surface可以再次用作捕获请求的目标。

如果在预分配过程中出现错误(例如缺少合适的内存),则在遇到错误后仍会调用此回调,尽管某些缓冲区可能尚未成功预先分配。

Parameters
session CameraCaptureSession: the session returned by createCaptureSession(List , CameraCaptureSession.StateCallback, Handler)
surface Surface: the Surface that was used with the prepare(Surface) call.

Hooray!