Camera2报错: BufferQueue has been abandoned

博客内容讲述了在使用Android的Camera2 API进行拍照时遇到无法连续拍摄的问题,错误信息涉及到BufferQueueProducer和ImageReader。作者发现关闭ImageReader实例会导致只能获取一帧图像,因此修正了关闭代码,将`it.close()`改为`image.close()`,解决了连拍问题。
摘要由CSDN通过智能技术生成

使用Camera2的时候以下错,导致照相不能连拍:

E/BufferQueueProducer: [ImageReader-1280x720f23m1-31435-0](id:7acb00000001,api:4,p:1198,c:31435) dequeueBuffer: BufferQueue has been abandoned

    private val onImageAvailableListener = ImageReader.OnImageAvailableListener{
        val image = it.acquireLatestImage()
        val byteBuffer = image.planes[0].buffer
        val byteArray = ByteArray(byteBuffer.remaining())
        byteBuffer.get(byteArray)
        Log.d(TAG, "byteArray= ${byteArray.contentToString()}")
//        it.close()    //it就是ImageReader,如果close掉了只能获取一帧,所以只能拍一次
        image.close()
    }

it.close()修改为image.close()就OK了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值