1.前提・実現したいこと
camera2Basicを元に長時間露光を行っております。
下記の問題があり、教えて頂けないでしょうか。
2.詳細
露光時間の設定が機種に依存をしているようなので確認をしたいです。
例えば、露光時間の設定を5秒とします。
set(CaptureRequest.SENSOR_EXPOSURE_TIME, 5000000000.toLong()) //露出時間の値
撮影スタートから「onCaptureCompleted」が呼ばれるまでの時間は
Huawei P10の場合は、5100msec程度で約5秒で問題はなくきちんと画像の保存までできます。、
oppo A5 2020の場合は、約10秒かかります。
他の秒数でも試しましたが、oppoの場合は必ず設定の約2倍かかってしまいます。
3.質問
- 何か考えられる原因など分からないでしょうか。
- 設定時間通りになるような対応方法があるでしょうか。
- oppoでは、EXPOSUREの範囲はmax16秒となっていて範囲内なので問題ないはずですが
大体8秒以上になると「onCaptureCompleted」が呼ばれずにエラーで終了してしまいます。
「 E/ANR_LOG: >>> msg's executing time is too long」
上記の質問と同じようですが、対応方法はあるでしょうか。 - 上記の状況で、Camera2Basicがカメラを掴んでいるらしく、端末を再起動しないと
カメラが使えなくなってしまいます。
このようにエラーの時に処理をうまく終了させて、再起動をしなくてもカメラを使える
ようにする方法はあるでしょうか。 - 私が持っている端末での確認の為、他の端末でもこのようなことはあるでしょうか。
###4.参考情報
google PLAY内のcamera2apiを元にしたようなアプリでは、同じようにエラー
で落ちてしまいカメラがそのアプリに掴まれたままになってしまい、端末を再起動
しないとカメラが使えなくなってしまいます。
###5.該当のソースコード
camera2Basicをほとんどそのまま使い、カメラの設定部分のみ変更しています。
###6.試したこと
上記のLOGをしかけて、どこまで処理が進んでいるかを確認しましたが、
onCaptureCompleted」が呼ばれないということで行き詰ってしまいました。
7.補足情報(FW/ツールのバージョンなど)
Android Studio 3.6.3
言語:kotlin
ベースにしたもの:Camera2Basic (kotlin)
端末1:P10
端末2:oppo A5 2020
最後に
何か情報をお持ちの方、またはこれ試して、などコメントを頂けると大変助かります。
よろしくお願いいたします。
あなたの回答
tips
プレビュー