AndroidのAdobe AIRでTextToSpeach(TTS)
ネイティブ拡張すれば実現できる。
既に実行して居る方がいて、しかもApache License。とても助かります。
ただ、FlashDevelopでAndroid用ANEを使う情報が中々見つからなかったので、エラーとの格闘で苦労した。 この記事 の通りにしてようやく上手くいった。
FlashDevelopでの使用手順
1 aneファイルをlibディレクトリ内にコピーする。今回は AneLab-TTS.ane
2 コピーしたaneファイルを 右クリック => Add To Library
3 再度ファイルを 右クリック => Options => External Library
4 bat/Packager.bat を編集する。
call adt -package [...] %FILE_OR_DIR% -extdir lib/
5 application.xml に拡張の識別子を書く
<extensions> <extensionID>so.ane.tts.TTS</extensionID> </extensions>
AneLab-TTSの使い方
使い方はとても簡単かつシンプル。 Google Code にサンプルコードがあるので、こちらを参考に簡単に解説。
各イベント
_tts.addEventListener(TTSEvent.CREATE_ERROR, onError); //create時のエラー _tts.addEventListener(TTSEvent.CREATE_SUCCESS, onSuccess); //create時の成功処理 _tts.addEventListener(TTSEvent.PLAY_COMPLETED, onSuccess); //読み上げ完了時の処理
メソッド
_tts.speak(speakText.text, p, s); // speak(読み上げ内容,ピッチ,レート) _tts.stop(); //読み上げ中止 _tts.shutdown(); // これを実行すると、speakしても読み上げられない。