Camera2 撮影サイズから最適なプレビューサイズを決定する|Android開発

   

Camera2 APIで撮影サイズ決定後に撮影サイズとアスペクト比が一致するプレビューサイズを決定するサンプルです。

  • mTextureViewはプレビュー表示用のTextureViewインスタンスです
  • mPictureSizeは設定済みの撮影サイズです
  • カメラの向きActivityの向きに関係なく、常に同じ値です
  • getSupportedPreviewSizes()については、Camera2 キャプチャサイズの取得を参照下さい

本サンプルではプレビュー用のTextureViewサイズより大きい最適サイズ一覧を取得sameAspectSizesし、その中で一番小さい値をプレビューサイズとして採用しています。
if (w >= viewWidth && h >= viewHeight)
Size previewSize = Collections.min
上記の部分を変更することで、TextureViewサイズより小さいものを選択など、取得対象を変更可能です。

 - Android