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日機能追加)