12. 写真を撮る

「タピア」を使用して写真を撮ります。

◆◇◆◇◆サンプルコード:TAPIAを使って写真を撮ります◆◇◆◇◆

1) ボタンを追加する

サンプルコード「0.ボタンを追加する」を参考に作成します

2) Activityに以下処理を追加する

//CameraHelperを使い写真をとる
public class CameraActivity extends TapiaActivity {

    private SurfaceView cameraPreview;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_takephoto);

        // カメラプレビュー画面の設定
        cameraPreview = (SurfaceView) findViewById(R.id.previewView);

        //日本語の設定をする
        TapiaApp.setCurrentLanguage(Language.LanguageID.JAPANESE);

        //TapiaActivity.ttsProviderクラスのインスタンスを取得する
        ttsProvider = TapiaApp.currentLanguage.getTTSProvider();

        //プレビューの設定をする
        CameraHelper.startCamera(cameraPreview.getHolder());

        //「Yes」ボタンを表示する
        findViewById(R.id.yes).setVisibility(View.VISIBLE);

        //タピアが写真をとる為の合図をしゃべる
        try {
            ttsProvider.say("写真を撮ります。ボタンを押してください。");
        } catch (LanguageNotSupportedException e) {
            e.printStackTrace();
        }


        //「yes」ボタンを押すと写真を撮る。
        findViewById(R.id.yes).setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {

                try {
                    ttsProvider.say("撮りました。");
                } catch (LanguageNotSupportedException e) {
                    e.printStackTrace();
                }
                //写真を撮る
                CameraHelper.takePicture();
            }
        });

        //写真を撮った後、保存して終了する
        CameraHelper.setOnPictureTokenListener(new CameraHelper.OnPictureTokenListener() {
            @Override
            public void onPictureToken(byte[] data, String s) {
                CameraHelper.saveLastPicture();
                finish();
            }
        });
    }

    @Override
    protected void onResume() {
        super.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
    }
}
  

3) 撮った写真を見る

既存の「show my photo」ボタンをタップすると写真がリスト表示します
Menu