Win32 API 日本語リファレンス
ホームMedia.MediaFoundation › IMFTimedText

IMFTimedText

COM
IID1f2a94c9-a3df-430d-9d0f-acd85ddc29af継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

タイムドテキストオブジェクトは、タイムドテキストのコンポーネントを表します。

メソッド 14

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT RegisterNotifications(IMFTimedTextNotify* notify)

タイムドテキストの通知オブジェクトを登録します。

notifyIMFTimedTextNotify*inoptional登録するタイムドテキスト通知オブジェクトの IMFTimedTextNotify インターフェイスへのポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 4 HRESULT SelectTrack(DWORD trackId, BOOL selected)

タイムドテキストコンポーネント内のテキストトラックを選択または選択解除します。

trackIdDWORDin選択するトラックの識別子。
selectedBOOLinテキストトラックを選択するか選択解除するかを指定します。トラックを選択するには TRUE を、トラックを選択解除するには FALSE を指定します。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 5 HRESULT AddDataSource(IMFByteStream* byteStream, LPWSTR label, LPWSTR language, MF_TIMED_TEXT_TRACK_KIND kind, BOOL isDefault, DWORD* trackId)

タイムドテキストのデータソースを追加します。

byteStreamIMFByteStream*in追加するデータソースの IMFByteStream インターフェイスへのポインター。
labelLPWSTRinoptionalデータソースのラベルを含む null 終端のワイド文字列。
languageLPWSTRinoptionalデータソースの言語を含む null 終端のワイド文字列。
kindMF_TIMED_TEXT_TRACK_KINDinタイムドテキストトラックの種類を指定する MF_TIMED_TEXT_TRACK_KIND 型の値。
isDefaultBOOLin既定のデータソースを追加するかどうかを指定します。既定のデータソースを追加するには TRUE を、それ以外の場合は FALSE を指定します。
trackIdDWORD*out追加されたトラックの一意の識別子へのポインターを受け取ります。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 6 HRESULT AddDataSourceFromUrl(LPWSTR url, LPWSTR label, LPWSTR language, MF_TIMED_TEXT_TRACK_KIND kind, BOOL isDefault, DWORD* trackId)

指定した URL からタイムドテキストのデータソースを追加します。

urlLPWSTRinタイムドテキストデータソースの URL。
labelLPWSTRinoptionalデータソースのラベルを含む null 終端のワイド文字列。
languageLPWSTRinoptionalデータソースの言語を含む null 終端のワイド文字列。
kindMF_TIMED_TEXT_TRACK_KINDinタイムドテキストトラックの種類を指定する MF_TIMED_TEXT_TRACK_KIND 型の値。
isDefaultBOOLin既定のデータソースを追加するかどうかを指定します。既定のデータソースを追加するには TRUE を、それ以外の場合は FALSE を指定します。
trackIdDWORD*out追加されたトラックの一意の識別子へのポインターを受け取ります。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 7 HRESULT AddTrack(LPWSTR label, LPWSTR language, MF_TIMED_TEXT_TRACK_KIND kind, IMFTimedTextTrack** track)
labelLPWSTRinoptional新規トラックの表示名(ラベル)文字列。NULL可。
languageLPWSTRinoptional新規トラックの言語を示すBCP-47言語タグ文字列。NULL可。
kindMF_TIMED_TEXT_TRACK_KINDin新規トラックの種別を示すMF_TIMED_TEXT_TRACK_KIND列挙値。
trackIMFTimedTextTrack**out生成されたトラックオブジェクトIMFTimedTextTrackを受け取る格納先。
vtbl 8 HRESULT RemoveTrack(IMFTimedTextTrack* track)

指定した識別子を持つタイムドテキストトラックを削除します。

trackIMFTimedTextTrack*in削除するトラックの識別子。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

トラックの識別子は、GetId を呼び出して取得します。

トラックが削除されると、そのトラックのバッファリングされたデータもすべて削除されます。

vtbl 9 HRESULT GetCueTimeOffset(DOUBLE* offset)

キュー時間へのオフセットを取得します。

offsetDOUBLE*outキュー時間へのオフセットを受け取る変数へのポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 10 HRESULT SetCueTimeOffset(DOUBLE offset)

キュー時間へのオフセットを設定します。

offsetDOUBLEinキュー時間へのオフセット。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 11 HRESULT GetTracks(IMFTimedTextTrackList** tracks)

IMFTimedText に登録されているすべてのタイムドテキストトラックの一覧を取得します。

tracksIMFTimedTextTrackList**outトラック一覧へのポインターを受け取ります。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 12 HRESULT GetActiveTracks(IMFTimedTextTrackList** activeTracks)

タイムドテキストコンポーネント内のアクティブなタイムドテキストトラックの一覧を取得します。

activeTracksIMFTimedTextTrackList**outアクティブなタイムドテキストトラックの一覧を列挙できる IMFTimedTextTrackList インターフェイスへのポインターを受け取るメモリブロックへのポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 13 HRESULT GetTextTracks(IMFTimedTextTrackList** textTracks)

タイムドテキストコンポーネント内のすべてのタイムドテキストトラックの一覧を取得します。

textTracksIMFTimedTextTrackList**outすべてのタイムドテキストトラックの一覧を列挙できる IMFTimedTextTrackList インターフェイスへのポインターを受け取るメモリブロックへのポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 14 HRESULT GetMetadataTracks(IMFTimedTextTrackList** metadataTracks)

タイムドテキストコンポーネント内のタイムドメタデータトラックの一覧を取得します。

metadataTracksIMFTimedTextTrackList**outタイムドメタデータトラックの一覧を列挙できる IMFTimedTextTrackList インターフェイスへのポインターを受け取るメモリブロックへのポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 15 HRESULT SetInBandEnabled(BOOL enabled)

インバンドモードを有効または無効にします。

enabledBOOLinインバンドモードを有効にするかどうかを指定します。TRUE の場合、インバンドモードが有効になります。FALSE の場合、インバンドモードが無効になります。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 16 BOOL IsInBandEnabled()

インバンドモードが有効かどうかを判定します。

戻り値

型: BOOL

インバンドモードが有効かどうかを返します。TRUE の場合、インバンドモードが有効です。FALSE の場合、インバンドモードが無効です。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 指定が可能。