基本的に俺はめんどくさがり屋である。
それも超ウルトラグレートファイティングゴージャスファナティッククライシスがつく位めんどくさがり屋である。
最近では遂にTwitterへのツイートをケータイから打ち込むのが面倒になった。
たかだか140文字を入力するのがめんどい。
まだPCなら楽に打てるからいいけど何かフリック入力ってのに慣れない。
慣れないっつーか誤認識が多くてイラつくことが多々ある。
そこで考えた。
「音声認識でツイートすればよくね?」
というわけでさっさと作ってみました。
音声認識部分のソースはこんな感じ。
try { Intent intent = new Intent(); intent.setAction(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "つぶやいて"); startActivityForResult(intent, 1); } catch(Exception e) { }
単純にインテントで音声認識処理を呼び出してるだけ。
そしてその結果をonActivityResultで取得する。
protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(resultCode != RESULT_OK) { return; } String resultString = ""; // 結果文字列リスト ArrayList<String> results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); for (int i = 0; i< results.size(); i++) { // ここでは、文字列が複数あった場合に結合しています resultString += results.get(i); } sendTwitter(resultString); }
上記のsendTwitterで取得したメッセージをTwitterにツイートしてます。
っつっても今はこれまたインテントでTwitterクライアントに丸投げしてるだけだけどw
ぶっちゃけ5分くらいで完成したけど音声認識が優秀なおかげで結構便利です。
ただマーケットみたら既にはるかに高機能な音声認識Twitterクライアントアプリがあって涙目www
だからこそここまでソース公開してるんですけどねw