为了账号安全,请及时绑定邮箱和手机立即绑定

E/BufferQueueProducer 错误

E/BufferQueueProducer 错误

HUWWW 2019-02-20 05:28:20
使用MediaProjection API进行屏幕截图的时候,会不断给出: E/BufferQueueProducer: [ImageReader-1080x1920f1m2-22674-60] dequeueBuffer: BufferQueue has been abandoned 这样一个错误提示,大概一秒钟报十几次...截图的代码如下: ImageReader imageReader = ImageReader.newInstance(screen.getWidth(), screen.getHeight(), PixelFormat.RGBA_8888, 2); VirtualDisplay virtualDisplay = mediaProjection.createVirtualDisplay("screen-mirror", screen.getWidth(), screen.getHeight(), screen.getDensity(), DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR, imageReader.getSurface(), null, null); SystemClock.sleep(1000); Image image = imageReader.acquireLatestImage(); int width = image.getWidth(); int height = image.getHeight(); final Image.Plane[] planes = image.getPlanes(); final ByteBuffer buffer = planes[0].getBuffer(); //每个像素的间距 int pixelStride = planes[0].getPixelStride(); //总的间距 int rowStride = planes[0].getRowStride(); int rowPadding = rowStride - pixelStride * width; Bitmap bitmap = Bitmap.createBitmap(width + rowPadding / pixelStride, height, Bitmap.Config.ARGB_8888); bitmap.copyPixelsFromBuffer(buffer); bitmap = Bitmap.createBitmap(bitmap, 0, 0, screen.getWidth(), screen.getHeight()); image.close(); imageReader.close(); 要怎么才能去掉这个错误提示啊
查看完整描述

4 回答

?
weixin_慕瓜0466410

TA贡献1条经验 获得超0个赞

请问楼主解决了吗?

查看完整回答
反对 回复 2020-11-30
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

我也 遇到了 这个问题,有人知道怎么解决吗

查看完整回答
反对 回复 2019-03-01
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

遇到同样的问题,请问解决了吗,咨询下解决方案

查看完整回答
反对 回复 2019-03-01
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

imageReader可能会被gc,把它变成field就可以了

查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 3385 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信