Language

CameraCaptureSession.Close メソッド

定義

このキャプチャ セッションを非同期で閉じます。

[Android.Runtime.Register("close", "()V", "GetCloseHandler")]
public abstract void Close();
[<Android.Runtime.Register("close", "()V", "GetCloseHandler")>]
abstract member Close : unit -> unit

実装

属性

注釈

このキャプチャ セッションを非同期で閉じます。

セッションを閉じると、セッションのターゲット出力サーフェスが解放され、新しいセッションまたはサーフェスに描画できる他の API で再利用できます。

新しいセッションの作成やカメラ デバイスの終了などの一般的な使用シナリオでは、このメソッドを呼び出さずに、それぞれの API を直接呼び出す方が高速です (詳細については、以下を参照してください)。 この API は、アプリケーションがカメラの構成を解除し、後で使用できるようにデバイスを開いたままにする場合にのみ役立ちます。

CameraDevice#createCaptureSessionを使用して新しいキャプチャ セッションを作成すると、既存のキャプチャ セッションが自動的に閉じられ、古いセッション リスナーの StateCallback#onClosed コールバックが呼び出されます。 CameraDevice#createCaptureSessionを閉じずに直接使用することは、変更されていないターゲット出力をより効率的に再利用できるため、新しいセッションにすばやく切り替えるための推奨されるアプローチです。

この API を呼び出さずに CameraDevice#close でデバイスを直接閉じることも、カメラをすばやく閉じるためにお勧めします。

セッションが閉じられると、そのセッションのすべてのメソッドが IllegalStateException をスローし、繰り返し要求またはバーストが停止されます ( #stopRepeating() が呼び出された場合と同様)。 ただし、セッションに送信された進行中のキャプチャ要求は通常どおりに完了します。すべてのキャプチャが完了し、セッションが切断されると、 StateCallback#onClosed が呼び出されます。

セッションを閉じるのはべき等です。複数回閉じると効果がありません。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象