错误 V4L2CameraDevice: select timeout
1.遇到问题
今天在使用摄像头相关功能时,出现了以下错误和警告:
E/V4L2CameraDevice: select timeout
W/V4L2CameraDevice: wait v4l2 buffer time out
2.分析问题
网上查阅了很多资料,都没有解决。最后跟同事吃饭的聊天的时候说到这个问题,他的一句话让我灵机一动,觉得可能是摄像头分辨率相关的问题。
回到公司,询问了硬件组的同学,才得知,设备新换了摄像头,只支持1080*720
的分辨率,所以之前写的设置分辨率的代码就不行了(Kotlin
语言):
mCamera?.let {
val parameters = it.parameters
parameters.setPreviewSize(400, 300)
parameters.setPictureSize(400, 300)
it.parameters = parameters
}
3.解决问题
最后我把这段代码删除之后,软件正常工作了。
总结:不同的摄像头都有自己支持的分辨率,如果设置成它不支持的分辨率,就会造成程序运行异常甚至崩溃