【问题标题】:Why PictureCallback in android camera is never called?为什么永远不会调用android相机中的PictureCallback?
【发布时间】:2014-11-24 07:56:19
【问题描述】:

我面临的问题是永远不会调用 PictureCallback。
stackoverflow 上的类似问题提到了更复杂的示例,我们将文件保存到系统中。这个简单的回调永远不会被调用。不管我给它多少时间。

public class InbuiltCamera implements PictureCallback {
private static Camera cameraObject;

public InbuiltCamera() {
    cameraObject = openTheCamera();
}

// //////// METHODS/////////////////////
public static Camera openTheCamera() {
    Camera object = null;
    object = Camera.open();
    return object;
}
public static void closeCamera(){
    if (cameraObject != null)
        cameraObject.release();
}

public void snapIt() {
    cameraObject.takePicture(null, null, this);
}

public void onPictureTaken(byte[] data, Camera parameter) {
    System.out.println("Hi");
}

}

我面临的问题是 Hi 永远不会被打印出来。曾经 !! 即即使我给了足够的时间,也永远不会调用回调。

【问题讨论】:

    标签: android callback camera android-camera


    【解决方案1】:

    您实现相机的方式不正确。请阅读文档以正确使用 API。 http://developer.android.com/reference/android/hardware/Camera.html

    我还上传了一个示例相机应用程序供您参考: https://github.com/shrishmv/CameraTest

    希望对你有帮助,

    问候, 虾肉

    【讨论】:

    • 问题是,google设计的Camera对象有一个缺陷。只有在实现 SurfaceView 并且必须显示预览时才会调用回调。 . .顺便说一句,您的代码类似于 GIT 的 Google 资源
    【解决方案2】:

    从来没有使用过这个,但我觉得它不应该是静态的,onPictureTaken 应该是@Override

    【讨论】:

    • 我尝试从静态更改。问题依然存在。
    猜你喜欢
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 2018-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多