ホーム › Media.Speech › ISpeechRecoResult
ISpeechRecoResult
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 10
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
vtbl 7 HRESULT get_RecoContext(ISpeechRecoContext** RecoContext)
| RecoContext | ISpeechRecoContext** | out | この結果を生成した認識コンテキスト(ISpeechRecoContext)を受け取るポインタ。 |
vtbl 8 HRESULT get_Times(ISpeechRecoResultTimes** Times)
| Times | ISpeechRecoResultTimes** | out | 認識のタイミング情報(ISpeechRecoResultTimes)を受け取るポインタ。 |
vtbl 9 HRESULT putref_AudioFormat(ISpeechAudioFormat* Format)
| Format | ISpeechAudioFormat* | inoptional | 結果に関連付けるオーディオフォーマット(ISpeechAudioFormat)を設定する。 |
vtbl 10 HRESULT get_AudioFormat(ISpeechAudioFormat** Format)
| Format | ISpeechAudioFormat** | out | 結果に関連付くオーディオフォーマット(ISpeechAudioFormat)を受け取るポインタ。 |
vtbl 11 HRESULT get_PhraseInfo(ISpeechPhraseInfo** PhraseInfo)
| PhraseInfo | ISpeechPhraseInfo** | out | 認識されたフレーズの詳細情報(ISpeechPhraseInfo)を受け取るポインタ。 |
vtbl 12 HRESULT Alternates(INT RequestCount, INT StartElement, INT Elements, ISpeechPhraseAlternates** Alternates)
| RequestCount | INT | in | 要求する代替候補の最大数。 |
| StartElement | INT | in | 代替を求める範囲の開始要素インデックス。 |
| Elements | INT | in | 代替を求める範囲の要素数。 |
| Alternates | ISpeechPhraseAlternates** | out | 取得した代替候補集合(ISpeechPhraseAlternates)を受け取るポインタ。 |
vtbl 13 HRESULT Audio(INT StartElement, INT Elements, ISpeechMemoryStream** Stream)
| StartElement | INT | in | 音声を取り出す範囲の開始要素インデックス。 |
| Elements | INT | in | 取り出す範囲の要素数。0で全体。 |
| Stream | ISpeechMemoryStream** | out | 保持音声を格納したメモリストリーム(ISpeechMemoryStream)を受け取るポインタ。 |
vtbl 14 HRESULT SpeakAudio(INT StartElement, INT Elements, SpeechVoiceSpeakFlags Flags, INT* StreamNumber)
| StartElement | INT | in | 再生する範囲の開始要素インデックス。 |
| Elements | INT | in | 再生する範囲の要素数。 |
| Flags | SpeechVoiceSpeakFlags | in | 再生動作を制御するフラグ(SpeechVoiceSpeakFlags)。 |
| StreamNumber | INT* | out | 割り当てられたストリーム番号を受け取るポインタ。 |
| ResultBlock | VARIANT* | out | 結果をシリアライズしたバイトデータを受け取るVARIANTポインタ。 |
vtbl 16 HRESULT DiscardResultInfo(SpeechDiscardType ValueTypes)
| ValueTypes | SpeechDiscardType | in | 破棄する情報の種別(SpeechDiscardType: 音声/代替/プロパティ等)。メモリ削減に用いる。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISpeechRecoResult "{ED2879CF-CED9-4EE6-A534-DE0191D5468D}" #usecom global ISpeechRecoResult IID_ISpeechRecoResult "{}" #comfunc global ISpeechRecoResult_get_RecoContext 7 sptr #comfunc global ISpeechRecoResult_get_Times 8 sptr #comfunc global ISpeechRecoResult_putref_AudioFormat 9 sptr #comfunc global ISpeechRecoResult_get_AudioFormat 10 sptr #comfunc global ISpeechRecoResult_get_PhraseInfo 11 sptr #comfunc global ISpeechRecoResult_Alternates 12 int,int,int,sptr #comfunc global ISpeechRecoResult_Audio 13 int,int,sptr #comfunc global ISpeechRecoResult_SpeakAudio 14 int,int,int,var #comfunc global ISpeechRecoResult_SaveToMemory 15 var #comfunc global ISpeechRecoResult_DiscardResultInfo 16 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_ISpeechRecoResult "{ED2879CF-CED9-4EE6-A534-DE0191D5468D}" #usecom global ISpeechRecoResult IID_ISpeechRecoResult "{}" #comfunc global ISpeechRecoResult_get_RecoContext 7 sptr #comfunc global ISpeechRecoResult_get_Times 8 sptr #comfunc global ISpeechRecoResult_putref_AudioFormat 9 sptr #comfunc global ISpeechRecoResult_get_AudioFormat 10 sptr #comfunc global ISpeechRecoResult_get_PhraseInfo 11 sptr #comfunc global ISpeechRecoResult_Alternates 12 int,int,int,sptr #comfunc global ISpeechRecoResult_Audio 13 int,int,sptr #comfunc global ISpeechRecoResult_SpeakAudio 14 int,int,int,sptr #comfunc global ISpeechRecoResult_SaveToMemory 15 sptr #comfunc global ISpeechRecoResult_DiscardResultInfo 16 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。