|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--com.j_phone.io.VoiceRecognition
音声認識制御用のクラスです。
使い方
voiceRecog = VoiceRecognition.getInstance(); // Listener の登録 voiceRecog.setVoiceRecognitionListener(this); // 認識処理 voiceRecog.recognize(dict, 10000, 10000, 3);
public void recognitionStarted(){ // 認識受付開始(この時点以降の音声入力を認識する) ... } public void recognized(int num){ // 第一候補の単語を取得 String word = dict.getWord(voiceRecog.getCandidateWord(1)); // 第一候補のスコアを取得 int score = voiceRecog.getCandidateScore(1); ... } public void recognitionFailed(int error){ // エラー処理 ... }
recognize()
メソッドを呼び出した場合、
setVoiceRecognitionListener()
メソッドで登録したリスナにエラーが通知されます。
また、メディアプレイヤーおよびフレーズプレイヤーは、
音声認識処理の開始から終了まで
(recognize()
が呼び出されてから
で登録したリスナに結果が通知されるまで)の間は操作できません。
音声認識処理中にメディアプレイヤーまたはフレーズプレイヤーを操作しようすると、例外が発生します。
setVoiceRecognitionListener()
メソッドの概要 | |
java.util.Enumeration |
getAvailableLanguages()
利用可能な音声認識言語の名称を取得します。 |
int |
getCandidateScore(int order)
認識結果から指定の順位のスコア値を取得します。 |
int |
getCandidateWord(int order)
認識結果から指定の順位の語句番号を取得します。 |
static VoiceRecognition |
getInstance()
唯一の VoiceRecognition インスタンスを取得します。 |
void |
recognize(java.lang.String dict,
int voiceOffTimeOut,
int voiceOnTimeOut,
int maxCandidate)
音声認識を行います。 |
void |
recognize(java.lang.String language,
java.lang.String dict,
int voiceOffTimeOut,
int voiceOnTimeOut,
int maxCandidate)
認識言語を指定して音声認識を行います。 |
void |
recognize(java.lang.String language,
VoiceRecognitionDictionary dict,
int voiceOffTimeOut,
int voiceOnTimeOut,
int maxCandidate)
認識言語を指定して音声認識を行います。 |
void |
recognize(VoiceRecognitionDictionary dict,
int voiceOffTimeOut,
int voiceOnTimeOut,
int maxCandidate)
音声認識を行います。 |
void |
setVoiceRecognitionListener(VoiceRecognitionListener listener)
音声認識の結果通知用の VoiceRecognitionListener を登録します。 |
void |
stop()
実行中の音声認識処理を中断します。 |
クラス java.lang.Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
メソッドの詳細 |
public static VoiceRecognition getInstance()
java.lang.RuntimeException
- ネイティブシステムが本機能をサポートしていない場合に発生するpublic void recognize(VoiceRecognitionDictionary dict, int voiceOffTimeOut, int voiceOnTimeOut, int maxCandidate)
このメソッドを呼び出すことで音声認識処理が開始されます。
このメソッドは開始依頼をするだけで、実際の結果は、setVoiceRecognitionListener で設定されたリスナに対して通知されます。
JSCL1.2.2 以降:
認識言語には getAvailableLanguages() で取得可能な対応言語一覧の先頭の名称が自動的に設定されます。
設定された認識言語は 次に recognize() メソッドが呼ばれるまでの間有効です。
dict
- 認識単語辞書(辞書のフォーマットに従った文字列)voiceOffTimeOut
- 音声が入力されない場合のタイムアウト時間(10〜10000ミリ秒)。
ただし、1 ミリ秒単位の指定部分は無視される。voiceOnTimeOut
- 音声が入力状態の最大許容時間(10〜10000ミリ秒)。
ただし、1 ミリ秒単位の指定部分は無視される。maxCandidate
- 認識結果の取得候補数(1〜20)。
認識時に似た候補が存在する場合に、上位からいくつまでの候補をあげるのか、その最大数を指定する。java.lang.IllegalArgumentException
- 辞書が不正、入力の最大許容時間を超えたなどのパラメータエラーIllegalStateException
- 認識処理が終了する前に、再度認識処理を行おうとした、または音声入力が有効
の場合MicControl
public void recognize(java.lang.String dict, int voiceOffTimeOut, int voiceOnTimeOut, int maxCandidate)
このメソッドを呼び出すことで音声認識処理が開始されます。
このメソッドは開始依頼をするだけで、実際の結果は、setVoiceRecognitionListener で設定されたリスナに対して通知されます。
JSCL1.2.2 以降:
認識言語には getAvailableLanguages() で取得可能な対応言語一覧の先頭の名称が自動的に設定されます。
設定された認識言語は 次に recognize() メソッドが呼ばれるまでの間有効です。
dict
- 認識単語辞書(辞書のフォーマットに従った文字列)voiceOffTimeOut
- 音声が入力されない場合のタイムアウト時間(10〜10000ミリ秒)。
ただし、1 ミリ秒単位の指定部分は無視される。voiceOnTimeOut
- 音声が入力状態の最大許容時間(10〜10000ミリ秒)。
ただし、1 ミリ秒単位の指定部分は無視される。maxCandidate
- 認識結果の取得候補数(1〜20)。
認識時に似た候補が存在する場合に、上位からいくつまでの候補をあげるのか、その最大数を指定する。java.lang.IllegalArgumentException
- 辞書が不正、入力の最大許容時間を超えたなどのパラメータエラーIllegalStateException
- 認識処理が終了する前に、再度認識処理を行おうとした、または音声入力が有効
の場合MicControl
public void recognize(java.lang.String language, VoiceRecognitionDictionary dict, int voiceOffTimeOut, int voiceOnTimeOut, int maxCandidate)
このメソッドを呼び出すことで音声認識処理が開始されます。 このメソッドは開始依頼をするだけで、実際の結果は、setVoiceRecognitionListener で設定されたリスナに対して通知されます。 設定可能な認識言語の名称の一覧は getAvailableLanguages() で取得可能です。 設定された認識言語は 次に recognize() メソッドが呼ばれるまでの間有効です。
language
- 認識言語の名称dict
- 認識単語辞書(辞書のフォーマットに従った文字列)voiceOffTimeOut
- 音声が入力されない場合のタイムアウト時間(10〜10000ミリ秒)。
ただし、1 ミリ秒単位の指定部分は無視される。voiceOnTimeOut
- 音声が入力状態の最大許容時間(10〜10000ミリ秒)。
ただし、1 ミリ秒単位の指定部分は無視される。maxCandidate
- 認識結果の取得候補数(1〜20)。
認識時に似た候補が存在する場合に、上位からいくつまでの候補をあげるのか、その最大数を指定する。java.lang.IllegalArgumentException
- 辞書が不正、入力の最大許容時間を超えた、サポートされていない言語名称が指定された などのパラメータエラーIllegalStateException
- 認識処理が終了する前に、再度認識処理を行おうとした、または音声入力が有効
の場合NullPointerException
- 引数 language
が nullMicControl
public void recognize(java.lang.String language, java.lang.String dict, int voiceOffTimeOut, int voiceOnTimeOut, int maxCandidate)
このメソッドを呼び出すことで音声認識処理が開始されます。 このメソッドは開始依頼をするだけで、実際の結果は、setVoiceRecognitionListener で設定されたリスナに対して通知されます。 設定可能な認識言語の名称の一覧は getAvailableLanguages() で取得可能です。 設定された認識言語は 次に recognize() メソッドが呼ばれるまでの間有効です。
language
- 認識言語の名称dict
- 認識単語辞書(辞書のフォーマットに従った文字列)voiceOffTimeOut
- 音声が入力されない場合のタイムアウト時間(10〜10000ミリ秒)。
ただし、1 ミリ秒単位の指定部分は無視される。voiceOnTimeOut
- 音声が入力状態の最大許容時間(10〜10000ミリ秒)。
ただし、1 ミリ秒単位の指定部分は無視される。maxCandidate
- 認識結果の取得候補数(1〜20)。
認識時に似た候補が存在する場合に、上位からいくつまでの候補をあげるのか、その最大数を指定する。java.lang.IllegalArgumentException
- 辞書が不正、入力の最大許容時間を超えた、サポートされていない言語名称が指定された などのパラメータエラーIllegalStateException
- 認識処理が終了する前に、再度認識処理を行おうとした、または音声入力が有効
の場合NullPointerException
- 引数 language
が nullMicControl
public java.util.Enumeration getAvailableLanguages()
このメソッドを呼び出すことで利用可能な音声認識言語の名称の一覧を取得可能です。 一覧中の各名称は String 型のオブジェクトとして取得可能です。
public void stop()
このメソッドは中断依頼をするだけで、実際の結果は、setVoiceRecognitionListener で設定されたリスナに対して通知されます。 そのため、場合によってはこのメソッド呼び出しと同時に認識処理が終了する場合があり、その場合には途中中断ではなく、該当の結果としてリスナに通知されます。
処理実行中でない場合には、特に何も行いません(エラーにもなりません)。
public int getCandidateWord(int order)
order
- 語句番号を取得する認識結果の候補中の順位java.lang.IllegalArgumentException
- 指定した順位の誤りpublic int getCandidateScore(int order)
order
- スコア値を取得する認識結果の候補中の順位を指定するjava.lang.IllegalArgumentException
- 指定した順位の誤りpublic void setVoiceRecognitionListener(VoiceRecognitionListener listener)
listener
- 新しい VoiceRecognitionListener
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |