Kas*_*hif 5 android android-camera2
我在我的一个应用程序中使用 Camera2 示例代码:https : //github.com/googlesamples/android-Camera2Basic/blob/master/Application/src/main/java/com/example/android/camera2basic/ Camera2BasicFragment.java
它一直运行良好,直到最近该应用程序在图像捕获时崩溃,但仅限于 Google Pixel 2 和 Pixel 2 XL 设备。
崩溃报告显示以下内容:
java.lang.NullPointerException:
at ....Camera2BasicFragment$ImageSaver.run (Camera2BasicFragment.java:935)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:193)
at android.os.HandlerThread.run (HandlerThread.java:65)
Run Code Online (Sandbox Code Playgroud)
这是第 935 行(ImageSaver 类):
ByteBuffer buffer = mImage.getPlanes()[0].getBuffer();
Run Code Online (Sandbox Code Playgroud)
我已经尝试了一些东西,但我无法测试,因为我没有 Pixel 2 设备。有什么建议?
更新(2018 年 11 月 5 日):
所以合乎逻辑的解释是从 ImageReader 返回的图像以某种方式为空:
@Override
public void onImageAvailable(ImageReader reader) {
mBackgroundHandler.post(new ImageSaver(reader.acquireLatestImage(), mFile));
}
Run Code Online (Sandbox Code Playgroud)
SO 上的其他一些帖子表明可能不支持 ImageReader 格式。这是格式:
mImageReader = ImageReader.newInstance(largest.getWidth(), largest.getHeight(),
ImageFormat.JPEG, /*maxImages*/2);
Run Code Online (Sandbox Code Playgroud)
但我无法想象为什么 JPEG 会是不受支持的格式。
还在寻找答案!
| 归档时间: |
|
| 查看次数: |
621 次 |
| 最近记录: |