Android自定义相机变焦后冻结

Tia*_* GP 24 camera android freeze samsung-galaxy-camera

我有一个自定义相机在某些设备上工作正常.它适用于三星Galaxy Gran Duos(三星-gt i9082,Android 4.2.2)但是当我尝试捕捉图像时,我之前放大了,它冻结了,没有崩溃,唯一的出路就是按下返回键.这只发生在三星Galaxy Gran Duos上.

我用来拍照的代码:

    Camera.PictureCallback photoCallback = new Camera.PictureCallback() {

    public void onPictureTaken(byte[] data, Camera camera) {

        try {

        } catch (Exception e) {
            if (flePicture== null){
                Log.d("camera", "Error creating media file, check storage permissions: " +
                        e.getMessage());
                return;
            }
        }

        try {
            FileOutputStream fos = new FileOutputStream(flePicture);
            fos.write(data);
            fos.close();
        } catch (FileNotFoundException e) {
            Log.d("camera", "File not found: " + e.getMessage());
        } catch (IOException e) {
            Log.d("camera", "Error accessing file: " + e.getMessage());
        } 
    }
};
Run Code Online (Sandbox Code Playgroud)

以及用于放大的代码:

private void zoomIn() {
    if (pblnInPreview) {
        Camera.Parameters parameters = camCamera.getParameters();

        if ((parameters.getZoom() + 1) < parameters.getMaxZoom()) {
            parameters.setZoom(parameters.getZoom() + 1);
            camCamera.setParameters(parameters);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

logcat的:

04-07 17:21:14.386: E/BrcmCamera(130): processControlBuffer: Corrupt stream error raised by camera - sensor communication failure
Run Code Online (Sandbox Code Playgroud)

You*_*jae 0

这不是强相关的答案。我知道。

但我想说三星4.2.2有很多缺陷。它有ClipboardManager崩溃、ActionBar AppCompat崩溃等等。

只需用简单的子句过滤它if即可挽救您的生命。

if (Build.VERSION.SDK_INT == Build.VERSION_CODES.JELLY_BEAN_MR1 && Build.MANUFACTURER.toUpperCase().contains("SAMSUNG")){
    // ignore
}else{
    // your logic on the go
}
Run Code Online (Sandbox Code Playgroud)