SATCHのコンテンツ自体がうたうわけじゃないです。

mp3ファイルを使います。



マーカー画像をタップしてうたわせる

下のページの続編です。
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;
    }
    
    
    
}


TOP