IMFTimedText
COM公式ドキュメント
タイムドテキストオブジェクトは、タイムドテキストのコンポーネントを表します。
メソッド 14
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
タイムドテキストの通知オブジェクトを登録します。
| notify | IMFTimedTextNotify* | inoptional | 登録するタイムドテキスト通知オブジェクトの IMFTimedTextNotify インターフェイスへのポインター。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
タイムドテキストコンポーネント内のテキストトラックを選択または選択解除します。
| trackId | DWORD | in | 選択するトラックの識別子。 |
| selected | BOOL | in | テキストトラックを選択するか選択解除するかを指定します。トラックを選択するには TRUE を、トラックを選択解除するには FALSE を指定します。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
タイムドテキストのデータソースを追加します。
| byteStream | IMFByteStream* | in | 追加するデータソースの IMFByteStream インターフェイスへのポインター。 |
| label | LPWSTR | inoptional | データソースのラベルを含む null 終端のワイド文字列。 |
| language | LPWSTR | inoptional | データソースの言語を含む null 終端のワイド文字列。 |
| kind | MF_TIMED_TEXT_TRACK_KIND | in | タイムドテキストトラックの種類を指定する MF_TIMED_TEXT_TRACK_KIND 型の値。 |
| isDefault | BOOL | in | 既定のデータソースを追加するかどうかを指定します。既定のデータソースを追加するには TRUE を、それ以外の場合は FALSE を指定します。 |
| trackId | DWORD* | out | 追加されたトラックの一意の識別子へのポインターを受け取ります。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
指定した URL からタイムドテキストのデータソースを追加します。
| url | LPWSTR | in | タイムドテキストデータソースの URL。 |
| label | LPWSTR | inoptional | データソースのラベルを含む null 終端のワイド文字列。 |
| language | LPWSTR | inoptional | データソースの言語を含む null 終端のワイド文字列。 |
| kind | MF_TIMED_TEXT_TRACK_KIND | in | タイムドテキストトラックの種類を指定する MF_TIMED_TEXT_TRACK_KIND 型の値。 |
| isDefault | BOOL | in | 既定のデータソースを追加するかどうかを指定します。既定のデータソースを追加するには TRUE を、それ以外の場合は FALSE を指定します。 |
| trackId | DWORD* | out | 追加されたトラックの一意の識別子へのポインターを受け取ります。 |
戻り値
| label | LPWSTR | inoptional | 新規トラックの表示名(ラベル)文字列。NULL可。 |
| language | LPWSTR | inoptional | 新規トラックの言語を示すBCP-47言語タグ文字列。NULL可。 |
| kind | MF_TIMED_TEXT_TRACK_KIND | in | 新規トラックの種別を示すMF_TIMED_TEXT_TRACK_KIND列挙値。 |
| track | IMFTimedTextTrack** | out | 生成されたトラックオブジェクトIMFTimedTextTrackを受け取る格納先。 |
指定した識別子を持つタイムドテキストトラックを削除します。
| track | IMFTimedTextTrack* | in | 削除するトラックの識別子。 |
戻り値
解説(Remarks)
トラックの識別子は、GetId を呼び出して取得します。
トラックが削除されると、そのトラックのバッファリングされたデータもすべて削除されます。
キュー時間へのオフセットを取得します。
| offset | DOUBLE* | out | キュー時間へのオフセットを受け取る変数へのポインター。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
キュー時間へのオフセットを設定します。
| offset | DOUBLE | in | キュー時間へのオフセット。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IMFTimedText に登録されているすべてのタイムドテキストトラックの一覧を取得します。
| tracks | IMFTimedTextTrackList** | out | トラック一覧へのポインターを受け取ります。 |
戻り値
タイムドテキストコンポーネント内のアクティブなタイムドテキストトラックの一覧を取得します。
| activeTracks | IMFTimedTextTrackList** | out | アクティブなタイムドテキストトラックの一覧を列挙できる IMFTimedTextTrackList インターフェイスへのポインターを受け取るメモリブロックへのポインター。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
タイムドテキストコンポーネント内のすべてのタイムドテキストトラックの一覧を取得します。
| textTracks | IMFTimedTextTrackList** | out | すべてのタイムドテキストトラックの一覧を列挙できる IMFTimedTextTrackList インターフェイスへのポインターを受け取るメモリブロックへのポインター。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
タイムドテキストコンポーネント内のタイムドメタデータトラックの一覧を取得します。
| metadataTracks | IMFTimedTextTrackList** | out | タイムドメタデータトラックの一覧を列挙できる IMFTimedTextTrackList インターフェイスへのポインターを受け取るメモリブロックへのポインター。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
インバンドモードを有効または無効にします。
| enabled | BOOL | in | インバンドモードを有効にするかどうかを指定します。TRUE の場合、インバンドモードが有効になります。FALSE の場合、インバンドモードが無効になります。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
インバンドモードが有効かどうかを判定します。
戻り値
型: BOOL
インバンドモードが有効かどうかを返します。TRUE の場合、インバンドモードが有効です。FALSE の場合、インバンドモードが無効です。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IMFTimedText "{1F2A94C9-A3DF-430D-9D0F-ACD85DDC29AF}" #usecom global IMFTimedText IID_IMFTimedText "{}" #comfunc global IMFTimedText_RegisterNotifications 3 sptr #comfunc global IMFTimedText_SelectTrack 4 int,int #comfunc global IMFTimedText_AddDataSource 5 sptr,wstr,wstr,int,int,var #comfunc global IMFTimedText_AddDataSourceFromUrl 6 wstr,wstr,wstr,int,int,var #comfunc global IMFTimedText_AddTrack 7 wstr,wstr,int,sptr #comfunc global IMFTimedText_RemoveTrack 8 sptr #comfunc global IMFTimedText_GetCueTimeOffset 9 var #comfunc global IMFTimedText_SetCueTimeOffset 10 double #comfunc global IMFTimedText_GetTracks 11 sptr #comfunc global IMFTimedText_GetActiveTracks 12 sptr #comfunc global IMFTimedText_GetTextTracks 13 sptr #comfunc global IMFTimedText_GetMetadataTracks 14 sptr #comfunc global IMFTimedText_SetInBandEnabled 15 int #comfunc global IMFTimedText_IsInBandEnabled 16 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IMFTimedText "{1F2A94C9-A3DF-430D-9D0F-ACD85DDC29AF}" #usecom global IMFTimedText IID_IMFTimedText "{}" #comfunc global IMFTimedText_RegisterNotifications 3 sptr #comfunc global IMFTimedText_SelectTrack 4 int,int #comfunc global IMFTimedText_AddDataSource 5 sptr,wstr,wstr,int,int,sptr #comfunc global IMFTimedText_AddDataSourceFromUrl 6 wstr,wstr,wstr,int,int,sptr #comfunc global IMFTimedText_AddTrack 7 wstr,wstr,int,sptr #comfunc global IMFTimedText_RemoveTrack 8 sptr #comfunc global IMFTimedText_GetCueTimeOffset 9 sptr #comfunc global IMFTimedText_SetCueTimeOffset 10 double #comfunc global IMFTimedText_GetTracks 11 sptr #comfunc global IMFTimedText_GetActiveTracks 12 sptr #comfunc global IMFTimedText_GetTextTracks 13 sptr #comfunc global IMFTimedText_GetMetadataTracks 14 sptr #comfunc global IMFTimedText_SetInBandEnabled 15 int #comfunc global IMFTimedText_IsInBandEnabled 16 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。