「タピア」を使用して写真を撮ります。
◆◇◆◇◆サンプルコード: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」ボタンをタップすると写真がリスト表示します