テキスト読み上げの音量と定位を変更する


以前、テキストの読み上げ(TextToSpeech)を利用するでAndroid端末上で合成音声を用いて喋らせるという内容を紹介しました。

今回はTextToSpeech関連でAndroid3.0(APIレベル11)から増えたものを紹介します。

それでは続きへどうぞ。

TextToSpeech.Engineクラス

このTextToSpeech.Engineクラス自体は以前からありますが、今回Honycombから2つパラメータが増えました。

  • KEY_PARAM_VOLUME
  • KEY_PARAM_PAN

音量とパン(定位)の値を設定するパラメータです。

両方ともHashMapを用いて値を設定し、TextToSpeachクラスのspeakメソッドの第3引数で設定します。

KEY_PARAM_VOLUMEは0から1までの値を設定します。0が無音で1が最大の音量です。

KEY_PARAM_PANは-1から1までの値を設定します。-1が左、1が右、0が真ん中になります。

サンプルソース

下記のソースでは音量が0.8で右側いっぱいにパンを振っています。

TextToSpeech tts = new TextToSpeech(this, this);</p>
<p>HashMap<String, String> params = new HashMap<String, String>();<br />
params.put(TextToSpeech.Engine.KEY_PARAM_VOLUME, String.valueOf(0.8));<br />
params.put(TextToSpeech.Engine.KEY_PARAM_PAN, String.valueOf(1.0));</p>
<p>tts.speak(string, TextToSpeech.QUEUE_FLUSH, params);<br />