ImageReader.AcquireNextImage メソッド

定義

ImageReader のキューから次の Image を取得します。

[Android.Runtime.Register("acquireNextImage", "()Landroid/media/Image;", "GetAcquireNextImageHandler")]
public virtual Android.Media.Image? AcquireNextImage ();
[<Android.Runtime.Register("acquireNextImage", "()Landroid/media/Image;", "GetAcquireNextImageHandler")>]
abstract member AcquireNextImage : unit -> Android.Media.Image
override this.AcquireNextImage : unit -> Android.Media.Image

戻り値

イメージ データの新しいフレーム、または null 使用可能なイメージ データがない場合は 。

属性

例外

画像が現在取得されている場合maxImages

注釈

ImageReader のキューから次の Image を取得します。 新しいイメージが null 使用できない場合は を返します。

警告: 古いイメージが自動的に解放され、実行速度の遅い処理ルーチンが最新のフレームに追いつくので、代わりに を使用 #acquireLatestImage() することを検討してください。 #acquireNextImageの使用は、バッチ/バックグラウンド処理に推奨されます。 この関数を誤って使用すると、画像が表示され、遅延が増え続け、新しいイメージが表示されない完全な停止が発生する可能性があります。

または を使用して取得された#acquireNextImage#acquireLatestImage場合maxImages、この操作は をスローIllegalStateExceptionすることによって失敗します。 特に、 のシーケンス #acquireNextImage または #acquireLatestImage 呼び出しの間で を呼び出さずに より #getMaxImages maxImages 大きい呼び出し Image#close を行うと、基になるキューが使い果たされます。 このような場合、 は、 IllegalStateException を使用 Image#closeしてより多くのイメージがリリースされるまでスローされます。

android.media.ImageReader.acquireNextImage()Java ドキュメント。

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

適用対象

こちらもご覧ください