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;
}
}