次の方法で共有


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 ドキュメントandroid.hardware.camera2.CameraCaptureSession.close()

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象