初めに
今現在androidのカメラライブラリーはCameraXが最新っぽいので新しく作る場合はそれを使ったほうがよさげ。今回の開発では一番初期のCameraを使う理由としては古いスマホでesp32Camのようなことができるか検証するためです。
実装
主な実装は公式のリファレンスを読んでね。
https://developer.android.com/guide/topics/media/camera?hl=ja
Fail to connect to camera service
camera = Camera.open();
するときに正常にカメラが開けなかったときに発生する例外です。基本的には端末を再起動することで治りますが私の場合アプリを落とすたびに発生していました。
はっきりした原因はわかっていませんがPreviewSizeでサポートされているものを使うことで解消しました。
.java
Camera.Size size=params.getSupportedPreviewSizes().get(0);
params.setPreviewSize(size.width, size.height);
また、しっかりcameraを使い終わったらリリースしてあげましょう。