2,853
社区成员




闪光灯状态设为auto,暗环境下拍照,点击缩略图查看图片,返回相机界面迅速再拍照,闪光灯有时会不闪
查看log拍照过程中flashmode设置正确,takepicture之前和之后分别加log打印mFlashNeeded值,显示拍照之前该值为0,拍照过程中该值变成1,查看相关代码,mFlashNeeded是在metadata callback中从AE中获取的,而获取值和拍照在两个不同的线程中完成的,两个线程会出现同步不上的情况,所以会引起这个问题.
解决办法:在拍照之前,判断flashmode为auto, mFlashNeeded为0时,等待100毫秒左右的时间,让另外一个线程有时间获取mFlashNeeded值的状态.
原文链接:https://blog.csdn.net/liujun3512159/article/details/123946890