speak

機能

音声で読み上げを行うメソッド。

引数

読み上げ文字列(省略可能)
省略する場合は、setStringメソッドで事前に読み上げ文字列を設定しておきます。

戻り値

0
正常に読み上げのリクエストが受理された場合。
-103
読み上げ文字列が許可されている長さを超えた場合。
-105
読み上げ文字列が設定されていない場合。文字列が、スペースや改行コードなどのみの場合も、このエラーを返します。

getServerErrorによる戻り値

0
正常に読み上げのリクエストが受理された場合。
-301
1ヶ月あたりの再生文字数を超えたリクエストを受け付けた場合。
-501
セッションが失われた場合。

使用例

vds.speak("vdsは、音声配信するためのWebAPIです。");
vds.setString("vdsは、音声配信するためのWebAPIです。");
vds.speak();
  • 文字コードはVDSが自動認識して処理します。
  • 音声は、サーバで生成され配信されるため、speakメソッドを呼んでから実際に音声の再生が始まるまでには、若干のタイムラグが生じます。
  • 連続してspeakメソッドを呼ぶ場合
    • speakメソッドが呼ばれると、読み上げ音声はVDS Playerのキューに追加されます。キューの内容は自動的に再生処理にまわされます。複数回speakメソッドを呼んだ場合、先に呼ばれたspeakメソッドの音声から順に読み上げが行われます。
    • 先に呼んだspeakメソッドの音声読み上げが始まってから、次のspeakメソッドを呼ぶようにします。呼ばない場合、最初のspeakメソッドが無視されることがあります。
    • 音声読み上げが実際に始まっているかどうかは、VoiceDeliveryPlayerのisSpeakingメソッドで確認することができます。例えば、以下のようなコードを使うことで、タイミングをとることができます。
var waitId
vds.setString("VDSは、音声配信するためのWebAPIです。");
vds.speak();
waitId = setInterval("if(vdsp.isSpeaking()==1){
  clearInterval(waitId);
  vds.speak("この声は、2番目に読み上げられます。");
}" , 100);
  • rubyタグについて(有償版のみ)
    rubyタグを指定するとrubyタグ中の rtタグの内容で文字列を読み上げます。
    このとき、読み上げ文字数はルビ(rtタグの内容)の文字数でカウントされます。
    固有名詞など特別な読み方をする文字に rubyタグを使用すると正しく読み上げることができます。
    rubyタグを使用しているサンプルはこちら
    (2009年12月1日機能追加)