public static abstract class CameraCaptureSession.StateCallback
extends Object
java.lang.Object | |
↳ | android.hardware.camera2.CameraCaptureSession.StateCallback |
用于接收有关摄像头捕获会话状态更新的回调对象。
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
|
void onActive (CameraCaptureSession session)
当会话开始主动处理捕获请求时,将调用此方法。
如果在调用 onConfigured(CameraCaptureSession)
之前提交捕获请求,那么会话将在回调后立即开始处理这些请求,并且此方法将在 onConfigured(CameraCaptureSession)
后立即调用。
如果会话用完了捕获请求来处理和调用 onReady(CameraCaptureSession)
,那么一旦提交新的请求进行捕获,就会再次调用此回调。
Parameters | |
---|---|
session |
CameraCaptureSession : the session returned by createCaptureSession(List
|
void onClosed (CameraCaptureSession session)
当会话关闭时调用此方法。
当父摄像机设备创建新会话,或者父摄像机设备关闭时(由用户关闭设备或由于摄像机设备断开连接或致命错误),会话关闭。
一旦会话关闭,其上的所有方法都将抛出IllegalStateException,并且任何重复请求或突发都会停止(就像调用了stopRepeating()
)。 但是,提交给会议的任何正在进行的捕获请求将如常完成。
Parameters | |
---|---|
session |
CameraCaptureSession : the session returned by createCaptureSession(List
|
void onConfigureFailed (CameraCaptureSession session)
如果会话无法按请求进行配置,则调用此方法。
如果请求的输出集包含不受支持的大小,或者一次请求太多的输出,则会发生这种情况。
会话被认为是关闭的,并且在调用此回调后调用的所有方法都会引发IllegalStateException。 在回调之前提交给会话的任何捕获请求都将被丢弃,并且不会对其听众产生任何回调。
Parameters | |
---|---|
session |
CameraCaptureSession : the session returned by createCaptureSession(List
|
void onConfigured (CameraCaptureSession session)
摄像机设备完成自身配置后会调用此方法,并且会话可以开始处理捕获请求。
如果捕获请求已经与会话排队,那么一旦调用该回调,它们就会开始处理,并且会在调用此回调之后立即调用 onActive(CameraCaptureSession)
。
如果没有提交捕获请求,那么会话将在此回调后立即调用 onReady(CameraCaptureSession)
。
如果摄像机设备配置失败,则将调用 onConfigureFailed(CameraCaptureSession)
而不是此回调。
Parameters | |
---|---|
session |
CameraCaptureSession : the session returned by createCaptureSession(List
|
void onReady (CameraCaptureSession session)
每次会话没有更多的捕获请求处理时,都会调用此方法。
在创建新会话期间,如果在完成配置之前没有捕获请求提交给会话,则在 onConfigured(CameraCaptureSession)
之后 onConfigured(CameraCaptureSession)
调用此回调。
否则,只要会话完成处理其所有活动的捕获请求,就会调用此回调,并且不会建立重复请求或突发。
Parameters | |
---|---|
session |
CameraCaptureSession : the session returned by createCaptureSession(List
|
void onSurfacePrepared (CameraCaptureSession session, Surface surface)
此方法在输出Surface的缓冲区预分配完成时调用。
输出Surface的缓冲区预分配由prepare(Surface)
调用启动。 虽然分配正在进行中,但Surface不能用作捕获目标。 一旦这个回调触发,提供的输出Surface可以再次用作捕获请求的目标。
如果在预分配过程中出现错误(例如缺少合适的内存),则在遇到错误后仍会调用此回调,尽管某些缓冲区可能尚未成功预先分配。
Parameters | |
---|---|
session |
CameraCaptureSession : the session returned by createCaptureSession(List
|
surface |
Surface : the Surface that was used with the prepare(Surface) call. |