ただし、Googleが推奨しているのはCamera2 Api> = 21の使用ですが、手動設定で問題が発生する可能性があります。
自動設定モードで写真を撮るためのアプリを実装する必要がある場合は、問題なく動作します。だが!手動設定モードの実装でアプリを作成する必要がある場合、API> = 21のデバイスでは、まず、サポートされているハードウェアレベルを確認する必要があります。
カメラ(正面、顔)を選択し、特性を取得して、ハードウェアレベルを確認します。
mCameraCharacteristics = mCameraManager.getCameraCharacteristics(mCameraId)
val level = mCameraCharacteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL)
CameraCharacteristicsは、次にサポートされるレベルを表します:LIMITED、FULL、LEGACY、LEVEL_3、EXTERNAL。
高レベルでは、レベルは次のとおりです。
LEGACYデバイスは、古いAndroidデバイスの下位互換モードで動作し、機能が非常に制限されています。
LIMITEDデバイスは、ベースライン機能セットを表し、FULLのサブセットである追加機能を含む場合もあります。
FULLデバイスはさらに、センサー、フラッシュ、レンズ、後処理設定のフレームごとの手動制御、および高速での画像キャプチャをサポートします。
LEVEL_3デバイスは、追加の出力ストリーム構成とともに、YUV再処理とRAW画像キャプチャを追加でサポートします。
LEGACY supprotレベルを取得した場合は、古いCamera Apiを使用する必要があります。