gpt4 book ai didi

来自 PreviewCallback 的 android 相机发布错误

转载 作者:IT老高 更新时间:2023-10-28 23:07:55 33 4
gpt4 key购买 nike

所以我已经阅读了相机 API,但在这方面找不到任何东西。我正在使用相机来抓取帧并且它工作得很好,直到我尝试释放相机。我在一系列调用中复制了错误:

camera = Camera.open();
camera.setPreviewDisplay(getHolder());
Parameters params = camera.getParameters();
List<Size> ls = params.getSupportedPreviewSizes();
Size size = ls.get(1);
this.width = size.width;
this.height = size.height;
params.setPreviewSize(size.width, size.height);
camera.setParameters(params);
camera.setDisplayOrientation(90);
camera.setPreviewCallback(this);
camera.startPreview();
camera.stopPreview();
camera.release();

我得到的错误是

03-22 13:31:42.592: E/AndroidRuntime(14152): java.lang.RuntimeException: Method called after release()
03-22 13:31:42.592: E/AndroidRuntime(14152): at android.hardware.Camera.setHasPreviewCallback(Native Method)
03-22 13:31:42.592: E/AndroidRuntime(14152): at android.hardware.Camera.access$600(Camera.java:114)
03-22 13:31:42.592: E/AndroidRuntime(14152): at android.hardware.Camera$EventHandler.handleMessage(Camera.java:545)
03-22 13:31:42.592: E/AndroidRuntime(14152): at android.os.Handler.dispatchMessage(Handler.java:99)
03-22 13:31:42.592: E/AndroidRuntime(14152): at android.os.Looper.loop(Looper.java:130)
03-22 13:31:42.592: E/AndroidRuntime(14152): at android.app.ActivityThread.main(ActivityThread.java:3684)
03-22 13:31:42.592: E/AndroidRuntime(14152): at java.lang.reflect.Method.invokeNative(Native Method)
03-22 13:31:42.592: E/AndroidRuntime(14152): at java.lang.reflect.Method.invoke(Method.java:507)
03-22 13:31:42.592: E/AndroidRuntime(14152): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:845)
03-22 13:31:42.592: E/AndroidRuntime(14152): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:603)
03-22 13:31:42.592: E/AndroidRuntime(14152): at dalvik.system.NativeStart.main(Native Method)

所以无论发生什么都不在我的职能之一中。如果我注释掉 camera.setPreviewCallback(this);那么这个错误不会出现,但我显然失去了我的回调,这是在我的应用程序中包含相机的全部意义。

最佳答案

您必须在 camera.release() 之前,camera.stopPreview() 之后取消设置预览回调:

camera.setPreviewCallback(null);

否则它可能会在相机释放后被调用。

关于来自 PreviewCallback 的 android 相机发布错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9829596/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com