11. 音のする方向に回転する

Tapia
背後から「タピア」と話しかけると、その方向に振り返ります

◆ソースコード:

TapiaRobot.startSoundLocation(activity);//音の聞こえる方向にタピアを合わせるモードの開始

TapiaRobot.stopSoundLocation(activity);//音の聞こえる方向にタピアを合わせるモードの停止

◆◇◆◇◆サンプルコード:TAPIAが音の聞こえる方向に回転します◆◇◆◇◆

この機能は、音の方向に回転するだけで、正確にその方向や値などをとらえることは出来ません

1) ボタンを追加する

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

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

//音に反応します。後ろから「タピア」と話しかけとその方向に振り返ります
public class SoundLocationActivity extends TapiaActivity {
    TapiaAnimation tapiaAnimation;

    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.eyes_layout);
        ImageView tapiaEyes = (ImageView) findViewById(R.id.eyes);

        //タピアの表情を、目をパチパチするに設定する
        tapiaAnimation = new TapiaAnimation(this,tapiaEyes);
        tapiaAnimation.startAnimation(TapiaAnimation.PLAIN,true);

        //タピアが話をする言語を日本語にする
        TapiaApp.setCurrentLanguage(Language.LanguageID.JAPANESE);

        //TTS、STTのインスタンスを取得する
        ttsProvider = TapiaApp.currentLanguage.getTTSProvider();
        sttProvider = TapiaApp.currentLanguage.getOnlineSTTProvider();

        //目を長押ししたときにメニューに戻る
        tapiaEyes.setOnLongClickListener(new View.OnLongClickListener() {
                  @Override
                 public boolean onLongClick(View v) {
                      finish();
                      return false;
                  }
              });

        //タピアがご挨拶をする。
        try {

            //タピアが「はい何でしょうか」と言った後に聞き取りを開始する
            ttsProvider.ask(getString(R.string.service_hello0),sttProvider);  

        } catch (LanguageNotSupportedException e) {
            e.printStackTrace();
        }

       }

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

        //音を聞いたあと「はい、こっちかな」としゃべる」
        sttProvider.setOnRecognitionCompleteListener(new STTProvider.OnRecognitionCompleteListener() {
       
	@Override
        	public void onRecognitionComplete(List list) {
                
                try {
                    ttsProvider.ask("はい、こっちかな",sttProvider);  
                } catch (LanguageNotSupportedException e) {
                    e.printStackTrace();
                }

                //音の方に顔をむける
                TapiaRobot.startSoundLocation(activity);
            }
        });
      }

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

© 2018 - MJI Inc. Copyright reserved -