Android の Camera2 API を使って カメラのプレビュー画面を表示する
の続きです。
シャッターのタイミング
Camera2 API には、シャッターに関する機能はないようです。
前回の記事で紹介した下記のコードを参考にした。
(Basic functionalities of both Camera1 API and Camera2 API with a Google Vision Face Detector added)
[https://github.com/EzequielAdrianM/Camera2Vision]
この記事では、Camera2Source の中で captureStillPicture を実行する時にした。
下記のように、captureStillPictureを実行する時に、コールバックする。
private void captureStillPicture() {
if(mShutterCallback != null) {
mShutterCallback.onShutter();
}
下記のような処理の流れとなる。
(1) picture ボタンをクリックする
(2) CaptureCallback にて、captureStillPicture を実行する
(3) ShutterCallback の onShutter をコールバックする
(4) シャッター音を鳴らす
(6) ImageReader に画像がキャプチャーされる。
(7) PictureCallback の onPictureTaken をコールバックする
(8) 画像をファイルに保存する。
SoundPool
サウンドファイルを再生するクラス
効果音の再生に適している。
事前にメモリに展開するので低レイテンシー。
再生できるのは5秒程度。
シャッター音の音源は、下記のサイトのものを使用した。
サンプルコードをgithub に公開した。
https://github.com/ohwada/Android_Samples/tree/master/Camera29