1. 程式人生 > >android 使用相機時出現了 startpreview 報錯

android 使用相機時出現了 startpreview 報錯

一般Camera呼叫open以及startPreview需要確保不多次呼叫

如果Camera.open(); 或者camera.startPreview();連續呼叫了多次,將可能會發生 java.lang.RuntimeException: startPreview failed;

可以使用boolean 全域性變數來記錄當前camera的狀態。來保證這一點。

個人嘗試多次後,瞭解到,注意isrecording的狀態變化就好了。 

private void initCamera() {

        if (!isView) {

            camera = Camera.open(); 

        }

        if (camera != null && !isView) {

            try {

                Camera.Parameters myParameters = camera.getParameters();

                myParameters.setPictureFormat(ImageFormat.JPEG);

                camera.setParameters(myParameters);        

                camera.setPreviewDisplay(holder);                    

                camera.startPreview();

            } catch (IOException e) {

                e.printStackTrace();

            }

            isView = true; 

        }

    }