Camera.AddCallbackBuffer(Byte[]) 方法

定义

注意

deprecated

将预分配的缓冲区添加到预览回调缓冲区队列。

[Android.Runtime.Register("addCallbackBuffer", "([B)V", "")]
[System.Obsolete("deprecated")]
public void AddCallbackBuffer(byte[]? callbackBuffer);
[<Android.Runtime.Register("addCallbackBuffer", "([B)V", "")>]
[<System.Obsolete("deprecated")>]
member this.AddCallbackBuffer : byte[] -> unit

参数

callbackBuffer
Byte[]

要添加到队列的缓冲区。 缓冲区的大小必须与上述值匹配。

属性

注解

将预分配的缓冲区添加到预览回调缓冲区队列。 应用程序可以将一个或多个缓冲区添加到队列。 当预览帧到达并且仍有至少一个可用缓冲区时,将使用缓冲区并从队列中删除。 然后使用缓冲区调用预览回调。 如果帧到达且没有剩余缓冲区,则放弃该帧。 应用程序在完成处理其中的数据后,应添加回缓冲区。

对于除 YV12 以外的格式,缓冲区的大小通过乘以每个像素的预览图像宽度、高度和字节来确定。 可以从中读取 Camera.Parameters#getPreviewSize()宽度和高度。 可以使用图像格式从 /8 计算 android.graphics.ImageFormat#getBitsPerPixel(int) 每个像素的字节数 Camera.Parameters#getPreviewFormat()

如果使用格式 android.graphics.ImageFormat#YV12 ,则可以使用中列出的 Camera.Parameters#setPreviewFormat公式计算大小。

仅当使用此方法时才 #setPreviewCallbackWithBuffer(PreviewCallback) 是必需的。 使用或#setOneShotPreviewCallback(PreviewCallback)使用缓冲区#setPreviewCallback(PreviewCallback)时,会自动分配缓冲区。 当提供的缓冲区太小而无法保存预览帧数据时,预览回调将返回 null,并将从缓冲区队列中删除缓冲区。

Java文档android.hardware.Camera.addCallbackBuffer(byte[])

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于

另请参阅

  • <xref:Android.Hardware.Camera.SetPreviewCallbackWithBuffer(.IPreviewCallback)>