IMFTimedTextCue
COM公式ドキュメント
タイムドテキストキュー(timed-text-cue)オブジェクトを表します。
メソッド 11
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
タイムドテキストキューの識別子を取得します。
戻り値
型: DWORD
タイムドテキストキューの識別子。
解説(Remarks)
このメソッドで取得される識別子は、システムによって動的に生成され、単一のタイムドテキストトラック内でキューを一意に識別することが保証されています。ただし、トラック間で一意であることは保証されません。テキストトラックのデータ形式内で提供される識別子をキューが既に持っている場合、その ID は GetOriginalId を呼び出すことで取得できます。
テキストトラックのデータ形式内で提供されるキュー識別子を、利用可能な場合に取得します。
| originalId | LPWSTR* | out | テキストトラックのデータ形式内で提供されるキュー識別子。 |
戻り値
解説(Remarks)
このメソッドは、ソースデータに含まれるキューの識別子を、指定されている場合に取得します。システムは、単一のタイムドテキストトラック内で一意であることが保証されたキューの識別子を動的に生成します。このシステム生成の ID を取得するには、GetId を呼び出してください。
タイムドテキストキューの種類を取得します。
戻り値
タイムドテキストキューの種類を指定する MF_TIMED_TEXT_TRACK_KIND 型の値を返します。
トラック内におけるキューの開始時刻を取得します。
戻り値
型: double
トラック内におけるキューの開始時刻を返します。
トラック内におけるキューの継続時間を取得します。
戻り値
型: double
トラック内におけるキューの継続時間を返します。
タイムドテキストキューの識別子を取得します。
戻り値
型: DWORD
タイムドテキストキューの識別子を返します。
タイムドテキストキューのデータコンテンツを取得します。
| data | IMFTimedTextBinary** | out | タイムドテキストキューのデータコンテンツに対する IMFTimedTextBinary インターフェイスへのポインターを受け取るメモリブロックへのポインター。このパラメーターは NULL にすることができます。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
タイムドテキストキューの表示領域に関する情報を取得します。
| region | IMFTimedTextRegion** | out | タイムドテキスト領域に対する IMFTimedTextRegion インターフェイスへのポインターを受け取るメモリブロックへのポインター。このパラメーターは NULL にすることができます。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
タイムドテキストキューのスタイルに関する情報を取得します。
| style | IMFTimedTextStyle** | out | タイムドテキストスタイルに対する IMFTimedTextStyle インターフェイスへのポインターを受け取るメモリブロックへのポインター。このパラメーターは NULL にすることができます。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
タイムドテキストキュー内のテキスト行数を取得します。
戻り値
型: DWORD
テキストの行数を返します。
行のインデックスから、キュー内のテキスト行を取得します。
| index | DWORD | in | 取得するキュー内のテキスト行のインデックス。 |
| line | IMFTimedTextFormattedText** | out | キュー内のテキスト行に対する IMFTimedTextFormattedText インターフェイスへのポインターを受け取るメモリブロックへのポインター。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IMFTimedTextCue "{1E560447-9A2B-43E1-A94C-B0AAABFBFBC9}" #usecom global IMFTimedTextCue IID_IMFTimedTextCue "{}" #comfunc global IMFTimedTextCue_GetId 3 #comfunc global IMFTimedTextCue_GetOriginalId 4 var #comfunc global IMFTimedTextCue_GetCueKind 5 #comfunc global IMFTimedTextCue_GetStartTime 6 #comfunc global IMFTimedTextCue_GetDuration 7 #comfunc global IMFTimedTextCue_GetTrackId 8 #comfunc global IMFTimedTextCue_GetData 9 sptr #comfunc global IMFTimedTextCue_GetRegion 10 sptr #comfunc global IMFTimedTextCue_GetStyle 11 sptr #comfunc global IMFTimedTextCue_GetLineCount 12 #comfunc global IMFTimedTextCue_GetLine 13 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IMFTimedTextCue "{1E560447-9A2B-43E1-A94C-B0AAABFBFBC9}" #usecom global IMFTimedTextCue IID_IMFTimedTextCue "{}" #comfunc global IMFTimedTextCue_GetId 3 #comfunc global IMFTimedTextCue_GetOriginalId 4 sptr #comfunc global IMFTimedTextCue_GetCueKind 5 #comfunc global IMFTimedTextCue_GetStartTime 6 #comfunc global IMFTimedTextCue_GetDuration 7 #comfunc global IMFTimedTextCue_GetTrackId 8 #comfunc global IMFTimedTextCue_GetData 9 sptr #comfunc global IMFTimedTextCue_GetRegion 10 sptr #comfunc global IMFTimedTextCue_GetStyle 11 sptr #comfunc global IMFTimedTextCue_GetLineCount 12 #comfunc global IMFTimedTextCue_GetLine 13 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。