小编sha*_*oid的帖子

捕获Camera2预览帧将返回空缓冲区

我一直在研究一个简单的Android应用程序,旨在将Android Camera2 API管道中的流式相机帧传递给我的算法.我已经使用Android Camera1 API忠实地做了几个应用程序,但即使在检查(Google文档,论坛)以确认正确编码之后,我也无法从onImageAvailable()中的ImageReader捕获任何真实数据.请注意以下相关代码:

  1. 设置ImageReaders:

    private void setUpCameraOutputs(int width, int height) {
    
    [....code....]
    
    mImageReader = ImageReader.newInstance(smallestJPEG.getWidth(), 
                                           smallestJPEG.getHeight(),
                                           ImageFormat.JPEG, /*maxImages*/2);
    // mImageReader.setOnImageAvailableListener(mOnImageAvailableListener, null);
    mPreviewImageReader = ImageReader.newInstance(smallest.getWidth(), 
                                                  smallest.getHeight(), 
                                                  ImageFormat.YUV_420_888, 2);
    mPreviewImageReader.setOnImageAvailableListener(mOnPreviewImageAvailableListener,
                                                    mBackgroundHandler);
    
    [....code....]
    
    }
    
    Run Code Online (Sandbox Code Playgroud)
  1. 设置CaptureSession:

    private void createCameraPreviewSession() {
    try {
        //Create Texture from Screen's TextureView
        SurfaceTexture texture = mTextureView.getSurfaceTexture();
    
        assert texture != null;
    
        //Configure Default Buffer Size
        texture.setDefaultBufferSize(mPreviewSize.getWidth(), mPreviewSize.getHeight());
    
        //Create Output Surface from Texture
        Surface surface = new Surface(texture);
    
        // Set up a CaptureRequest.Builder with the output Surface.
        mPreviewRequestBuilder
                = …
    Run Code Online (Sandbox Code Playgroud)

camera android buffer frames preview

5
推荐指数
1
解决办法
2763
查看次数

标签 统计

android ×1

buffer ×1

camera ×1

frames ×1

preview ×1