SATCHのマーカーをタップしてうたわせてみる
下のページの続編です。
SATCHのTOUCH MEを使ってみる
プロジェクトファイル
mp3ファイルを用意。ファイル名には,アルファベット・数字・アンダースコア・ピリオド以外はNG。
resフォルダーの下にrawフォルダーを用意して、mp3を置く。
修正するのは、src¥com¥kddi¥satch¥gambaemblem¥GambaemblemActivity.javaだけ、//music参照。
【GambaemblemActivity.java】
package com.kddi.satch.gambaemblem; import com.kddi.satch.gambaemblemactivity.GambaemblemActivity_simple; //add import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; //music import java.io.IOException; import android.media.MediaPlayer; public class GambaemblemActivity extends GambaemblemActivity_simple { private static final String THIS_CLASS_SHORT_NAME = GambaemblemActivity.class.getName().replace("com.kddi.satch.gambaemblem.", ""); private static final String THIS_LOGTAG = THIS_CLASS_SHORT_NAME; // Set AR scenario file path. private static final String SCENARIO_NAME = "/assets/Scenario/Scenario_a/gambaemblem.dpd"; protected String getSampleScenarioName() { return SCENARIO_NAME; } protected String getSampleLogTag() { return THIS_LOGTAG; } //music private MediaPlayer mp = null; @Override public void postInitComponent(){ super.postInitComponent(); if (_isInitializedCorrectly) { _kddiComponent.activateAutoFocusOnDownEvent(true); _kddiComponent.registerCommunicationCallback("openSatch", this, "openSatch"); } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //music mp = MediaPlayer.create(this,R.raw.gamba); } public void openSatch(String[] arrayOfString) { //music if (mp.isPlaying()) { //再生中 mp.stop(); try { mp.prepare(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }else { //停止中 mp.start(); } } //add @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(Menu.NONE, Menu.FIRST, Menu.NONE, getString(R.string.setting)); return super.onCreateOptionsMenu(menu); } @Override public void onStop() { //music mp.stop(); super.onStop(); } //add @Override public boolean onOptionsItemSelected(MenuItem item) { boolean ret = true; switch (item.getItemId()) { default: ret = super.onOptionsItemSelected(item); break; case Menu.FIRST: ret = true; Intent intent = new Intent(GambaemblemActivity.this.getApplicationContext(), GambaemblemSetting.class); startActivity(intent); break; } return ret; } }