云计算百科
云计算领域专业知识百科平台

Android Camera预览设置缓冲区大小和修改 SurfaceTexture

设置缓冲区大小 vs 修改 SurfaceTexture 尺寸的区别

  • setDefaultBufferSize() – 设置缓冲区大小 作用:

    • 设置 SurfaceTexture 内部缓冲区的默认尺寸
    • 影响从相机/视频源接收到的图像数据的分辨率
    • 控制实际图像数据的宽高

    特点:

    • 影响数据层面:决定相机输出的图像分辨率
    • 不影响视图显示:不改变 TextureView 在屏幕上的显示大小
    • 必须在创建 Surface 之前调用
    • 用于匹配相机支持的输出分辨率

    示例:

    override fun onSurfaceTextureAvailable(surface: SurfaceTexture, width: Int, height: Int) {


    // 设置缓冲区大小为 1920×1080(相机输出分辨率)
    surface.setDefaultBufferSize(1920, 1080)

    // 创建 Surface 用于相机
    val cameraSurface = Surface(surface)
    // 相机将输出 1920×1080 的图像数据到这个缓冲区
    }

  • 修改 TextureView 的尺寸 – 修改视图显示大小 作用:

    • 改变 TextureView 在屏幕上的显示尺寸
    • 通过布局参数(LayoutParams)修改
    • 影响视觉层面:控制视图在 UI 中的大小和位置

    特点:

    • 影响显示层面:只改变
  • 赞(0)
    未经允许不得转载:网硕互联帮助中心 » Android Camera预览设置缓冲区大小和修改 SurfaceTexture
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!