这是我的第一个问题。 我需要帮助Android上的实时相机。 我想创建相机预览(在表面视图上)。 android应用程序用于android的一些功能:
我尝试在Camera.PreviewCallback上翻转位图然后重绘Surface但速度非常慢。 然后我尝试使用open cv。但它对我的应用来说更大。
[Android api> = 10。]
给我一些想法来解决我的问题。 非常感谢。 // 对不起我的英文。
答案 0 :(得分:0)
如果您无法使用SurfaceTexture,请考虑隐藏预览曲面(您仍需要实时SurfaceView才能启动Camera.startPreview())。使用Camera.PreviewCallback(),通过着色器将YUV帧推送到OpenGl纹理,并在OpenGL中渲染它们。请参阅Android OpenGL ES process yuv preview as RGBA作为开始示例。
我强烈建议使用SurfaceTexture为API> = 11构建单独的代码,因为系统在每次升级时都会严格执行可见的实时预览。隐藏SurfaceView仍然是possible,但对于API< = 10,您可以简单地将其移动到(10000,10000)并且不使用更复杂且不太稳健的解决方法。