会いたくて会いたくて震えてもらった


本日はクリスマス・イブですね。みなさんは大切な人と幸せな夜を過ごせておりますでしょうか。
意中の人はいるけれど今年はその人と過ごせそうにないなー。。。って方は、是非「会いたい」という気持ちを言葉に出してみてはいかがでしょうか。

Androidに「会いたい」気持ちを聞いてもらう

Androidに聞いてもらう場合、まずパーミッションの追加が必要です。

AndroidManifest.xml
<uses-permission android:name="android.permission.RECORD_AUDIO" />

ただ聞いてもらうのではなく、きちんと「会いたくて」と認識してほしいから音声認識を入れます。

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, this.getPackageName());
SpeechRecognizer recognizer = SpeechRecognizer.createSpeechRecognizer(this);
recognizer.setRecognitionListener(new RecognitionListener() {
  @Override
  public void onResults(Bundle results) {
    //取得時の処理
  }

  @Override
  public void onEndOfSpeech() {
    //終了時の処理
  }
});
recognizer.startListening(intent);

Androidに震えてもらう

ある歌で「会いたくて会いたくて震える」とありますが、おそらく「会いたくて」も震えはしないと思いますので、代わりにAndroidに震えて頂きます。

Androidに震えてもらう場合、まずパーミッションの追加が必要です。

AndroidManifest.xml
<uses-permission android:name="android.permission.VIBRATE"/>

Androidが音声を聞いてくれるとsetRecognitionListenerのonResultsが呼び出されますので、音声認識の結果が「会いたくて会いたくて」の場合のみ震えるようにします。

@Override
public void onResults(Bundle results) {
  List<String> recData = results.getStringArrayList(android.speech.SpeechRecognizer.RESULTS_RECOGNITION);
  if (recData.get(0).equals("会いたくて会いたくて")) {
    Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
    vibrator.vibrate(1500);
  }
}

vibrator.vibrate(1500);
で1.5秒の震えになります。

もう少し運要素を入れたい

ただ震えるのでは楽しくないので、花占い的な占い機能をつけてみます

List<String> recData = results.getStringArrayList(android.speech.SpeechRecognizer.RESULTS_RECOGNITION);
if (recData.get(0).equals("会いたくて会いたくて")) {
  int rand = (int) (Math.random() * 10 + 1);
  Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);

  if (rand % 10 == 0) {
    long[] pattern = { 0, 400, 50, 400, 100, 200, 100, 200 };
    vibrator.vibrate(pattern, -1);
  }else{
    vibrator.vibrate(1500);
  }
}

これで10分の1の確率で特別な震えが起こるようになります。
相手のことを考えながら「会いたくて会いたくて」と言ったら特別な震えがくるなんて・・・
このアプリを使用してクリスマス・イブの一時を楽しい妄想に変えてみませんか?

反省

ネタでやっているつもりが、自分でも引くぐらい気持ち悪い内容になってしまったこと。