Language

ImageWriter.DequeueInputImage メソッド

定義

アプリケーションがデータを生成するために使用できる次の入力イメージをデキューします。

[Android.Runtime.Register("dequeueInputImage", "()Landroid/media/Image;", "GetDequeueInputImageHandler", ApiSince=23)]
public virtual Android.Media.Image? DequeueInputImage();
[<Android.Runtime.Register("dequeueInputImage", "()Landroid/media/Image;", "GetDequeueInputImageHandler", ApiSince=23)>]
abstract member DequeueInputImage : unit -> Android.Media.Image
override this.DequeueInputImage : unit -> Android.Media.Image

返品

この ImageWriter から次に使用可能な入力イメージ。

属性

注釈

アプリケーションがデータを生成するために使用できる次の入力イメージをデキューします。

このメソッドは、ImageWriter から新しい入力 Image を要求します。 アプリケーションは、この呼び出しの後にこのイメージを所有します。 アプリケーションが Image データを入力すると、ダウンストリーム コンシューマー コンポーネント ( android.hardware.camera2.CameraDevice など) が使用できるように、この Image を ImageWriter に返す必要があります。 イメージは、 #queueInputImage または Image#close()経由で ImageWriter に返すことができます。

この呼び出しは、使用可能なすべての入力イメージがアプリケーションによってキューに入れられ、ダウンストリーム コンシューマーがまだ使用されていない場合にブロックされます。 イメージがダウンストリーム コンシューマーによって使用され、解放されると、 OnImageReleasedListener#onImageReleased コールバックが発生します。これは、使用可能な入力イメージが 1 つあることを示します。 ImageFormat#PRIVATE PRIVATE以外の形式 (ImageWriter#getFormat() != ImageFormat#PRIVATE) の場合は、このコールバックが発生した後にのみ、安定した状態で次のイメージをデキューすることをお勧めします。

ImageWriter の形式が ImageFormat#PRIVATE PRIVATE ( ImageWriter#getFormat() == ImageFormat#PRIVATE) の場合、イメージ バッファーは、 Image#getHardwareBuffer()を介して取得されたハードウェア バッファーを介してのみアプリケーションからアクセスできます。 (P より前の Android バージョンでは、プライベート バッファーをデキューすると、 IllegalStateException がスローされます)。 または、アプリケーションは他のコンポーネント ( ImageReader など) からイメージを取得し、 ImageWriter#queueInputImage queueInputImage() メソッドを使用してこの ImageWriter に直接キューに入れることもできます。

Javaドキュメント。

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

適用対象