
背後から「タピア」と話しかけると、その方向に振り返ります
◆ソースコード:
TapiaRobot.startSoundLocation(activity);//音の聞こえる方向にタピアを合わせるモードの開始
TapiaRobot.stopSoundLocation(activity);//音の聞こえる方向にタピアを合わせるモードの停止
◆◇◆◇◆サンプルコード:TAPIAが音の聞こえる方向に回転します◆◇◆◇◆
この機能は、音の方向に回転するだけで、正確にその方向や値などをとらえることは出来ません
1) ボタンを追加する
サンプルコード「0.ボタンを追加する」を参考に作成します
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();
}
}