gpt4 book ai didi

android - 如何在基于相机的图像处理中使用新的 OnBufferAvailableListener、USAGE_IO_INPUT、ioReceive() 和 getSurface()?

转载 作者:太空狗 更新时间:2023-10-29 13:27:14 25 4
gpt4 key购买 nike

在 Renderscript 中,使用 USAGE_IO_INPUT 标志创建 Allocation,然后使用 ioReceive() 和 getSurface() 函数来实现图像处理系统,例如基于相机的图像处理似乎是个谜。我找不到任何完整的示例代码,只能找到一些在线证据。例如。 Using a SurfaceTexture filled by Camera preview as Renderscript input Allocation in Jelly Bean , RenderScript's Allocation.getSurface() function always complain "call to OpenGL ES API with no current context"Using SurfaceTexture in combination with RenderScript .

但是,这些帖子都没有真正的答案。我发现在Android 4.4 中,有一个新的接口(interface),叫做OnBufferAvailableListener。根据有限的文档,这个新接口(interface)的目的似乎是提供一种在更新时接收启用 SurfaceTexture 的分配的方法(因为文档说如果设置了 USAGE_IO_INPUT,分配将用作 SurfaceTexture 生产者)。但问题是,如何建立一个机制来使这个功能发挥作用呢?例如,在 Camera API 中,setPreviewTexture(SurfaceTexture surfaceTexture) 函数允许将 SurfaceTexture 链接到相机,并且 Renderscript Allocation 类中有一个 getSurfaceTexture() 函数(至少是 @hide 函数),它生成可以发送到的 SurfaceTexture相机API。然而,现在在Android 4.4中这个方法已经不存在了(连@hide都被删除了)。那么如何让Allocation成为“SurfaceTexture生产者”呢?何时以及如何使用 ioReceive() 和 getSurface() 等函数。何时以及如何使用新的 OnBufferAvailableListener?

我可能把整个画面弄错了。如果是这样的话,请问在什么情况下可以使用USAGE_IO_INPUT相关API的集合?非常感谢您!

最佳答案

尚无相机 API 生成必要的缓冲区。请继续关注。

关于android - 如何在基于相机的图像处理中使用新的 OnBufferAvailableListener、USAGE_IO_INPUT、ioReceive() 和 getSurface()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20122869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com