プロジェクションマッピング

エンターテインメントから工業利用まで、プロジェクションマッピングの活用・運用をお考えの方へ

more

インタラクティブ&サイネージ

情報表示用のデジタルサイネージから、センサーを利用したインタラクティブ要素などをお考えの方へ

more

VR/360MOVIE

VRHMD用コンテンツからプラットフォームを利用した360度ムービーを活用したPRをお考えの方へ

more
CONTACT 052-253-9866

【Android】カメラアプリにLEDの切り替えボタンを実装

2014.10.03 金曜日 08:03:43

beam_02

今回、カメラアプリ起動中にLEDライトを点灯させる機能を追加するための調査を行いました。

モバイルライトアプリ用のソースは、そのまま使えるものを紹介されている方が多くみえたのですが
カメラ用のソースが意外に少なかったりしましたので作ってみました。

カメラへ組み込む際に、参考になればと思います。

フラッシュの動作部分

まずは、javaファイルへ動作部分の記述から行います。
MainActivity.java内のActivity内に、以下のように記述しました。

public class MainActivity extends Activity {

    // フラッシュオンオフ判定
    private boolean flashOn = false;
    // カメラ
    private Camera myCamera;


//カメラ動作などの記述が入ります


public void onFlashChange(View v){
        // パラメータ取得
        Camera.Parameters camParam = myCamera.getParameters();
        if(flashOn == false){
        //フラッシュを点灯状態に
            camParam.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
        }else{
        //フラッシュをオフ
            camParam.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
        }
        //パラメータを設定
        myCamera.setParameters(camParam);
    //カメラが起動していない場合はプレビューをオンにする
//        myCamera.startPreview();
    //オンオフ判別を切り替え
        flashOn = !(flashOn);
    }


//カメラ動作などの記述が入ります

}

myCamera.startPreview();は、カメラが既に起動している場合は必要ないと思いますが
モバイルライトのようなアプリの場合で、カメラが起動していないときは
プレビューをオンにしないとLEDが点灯しないようです。

activity_main.xml側にボタンを作成

今回は、xmlファイル側にフラッシュ切り替えボタンを作成しました。
位置の調整は適宜行ってください。

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="フラッシュ切り替え"
            android:id="@+id/flashButton"
            android:onClick="onFlashChange" />

AndroidManifest.xmlへの追記

最後に、AndroidManifest.xmlへの追記を行います。
カメラを使用している場合、既にパーミッション変更を行っていると思いますが、
ここにフラッシュ使用の為の記述も追加します。

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.flash" />

今回は、こちらの記事を参考にさせて頂きました。
LEDのパラメータについても掲載されており、
フラッシュをオートにしたり、赤目補正モードなんかも用意されているようです。

パラメータに赤目補正モードまで用意されているなんて親切ですね!
iOSにはあるのでしょうか…一度調べてみます!

Category:Android , Development     Tag:
Authorブログの著者について
田中 義弘

田中 義弘

イベントプロダクション・グラフィックデザイナーを経て、2010年3月に株式会社アイデアクラウドを設立。近年、WEBから得た技術をベースに、プロジェクションマッピング事業をはじめとした先端事業をスタート。

Our Business
最近の記事
人気記事
Our Project