2020-05-14 19:41:18.803 11350-11350/com.example.camera E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.camera, PID: 11350
java.lang.RuntimeException: getParameters failed (empty parameters)
at android.hardware.Camera.native_getParameters(Native Method)
at android.hardware.Camera.getParameters(Camera.java:2234)
at com.example.camera.MediaRecoderActivity.initializeRecorder(MediaRecoderActivity.java:128)
at com.example.camera.MediaRecoderActivity.startRecoder(MediaRecoderActivity.java:102)
at com.example.camera.MediaRecoderActivity.onClick(MediaRecoderActivity.java:67)
at android.view.View.performClick(View.java:6597)
at android.view.View.performClickInternal(View.java:6574)
at android.view.View.access$3100(View.java:778)
at android.view.View$PerformClick.run(View.java:25889)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6746)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
产生原因:
getParameters不能在mCamera.startPreview()之后获取
所以如果有什么参数要获取的话,比如获取相机支持的预览尺寸:
List<Camera.Size> sizes = mCamera.getParameters().getSupportedPreviewSizes();
这个就要在mCamera.startPreview()之前完成。