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

IWMPClosedCaption

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID4f2df574-c588-11d3-9ed0-00c04fb6e937継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

公式ドキュメント

IWMPClosedCaption インターフェイスは、デジタルメディアファイルにキャプションを含めるための手段を提供します。キャプションのテキストは、Synchronized Accessible Media Interchange (SAMI) ファイルに記述されます。

メソッド 8

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_SAMIStyle(LPWSTR* pbstrSAMIStyle)

get_SAMIStyle メソッドは、クローズドキャプションのスタイルを取得します。

pbstrSAMIStyleLPWSTR*inoutSAMI スタイルを格納する BSTR へのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。

解説(Remarks)

1 つの SAMI ファイルには、複数の書式スタイル定義を含めることができます。SAMI スタイルは、SAMI ファイル内の <STYLE> タグと </STYLE> タグの間に定義します。スタイルは、# 文字を先頭に付けたテキスト文字列で定義します。たとえば、次のコードは、あるスタイルに使用するテキストの書式を指定しています。


#Emphasis1 {Name: Big Bold Italic; font-size: 14pt; text-align: center;
            color: blue; font-family: sans-serif; font-weight: bold;
            font-style: italic;}

SAMI スタイルが指定されていない場合は、既定で SAMI ファイル内に最初に定義されているスタイルが使用されます。

Windows Media Player 10 Mobile: このメソッドは常に空の文字列を格納する BSTR を取得します。

vtbl 8 HRESULT put_SAMIStyle(LPWSTR bstrSAMIStyle)

put_SAMIStyle メソッドは、クローズドキャプションのスタイルを指定します。

bstrSAMIStyleLPWSTRinSAMI スタイルを格納する BSTR

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。

解説(Remarks)

1 つの SAMI ファイルには、複数の書式スタイル定義を含めることができます。SAMI スタイルは、SAMI ファイル内の <STYLE> タグと </STYLE> タグの間に定義します。スタイルは、# 文字を先頭に付けたテキスト文字列で定義します。たとえば、次のコードは、あるスタイルに使用するテキストの書式を指定しています。


#Emphasis1 {Name: Big Bold Italic; font-size: 14pt; text-align: center;
            color: blue; font-family: sans-serif; font-weight: bold;
            font-style: italic;}

SAMI スタイルが指定されていない場合は、既定で SAMI ファイル内に最初に定義されているスタイルが使用されます。

Windows Media Player 10 Mobile: このメソッドは常に E_INVALIDARG を返します。

vtbl 9 HRESULT get_SAMILang(LPWSTR* pbstrSAMILang)

get_SAMILang メソッドは、クローズドキャプションに表示される言語を取得します。

pbstrSAMILangLPWSTR*inout言語を格納する BSTR へのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。

解説(Remarks)

1 つの SAMI ファイルには、1 つまたは複数の言語のテキストを含めることができます。クローズドキャプションに使用できる言語は、SAMI ファイル内の <STYLE> タグと </STYLE> タグの間に定義します。言語識別子は、ピリオド (.) を先頭に付けた一意の英数字文字列で指定します。言語に指定する名前には、任意の文字列を使用できます。たとえば、次のコードは米国英語を定義するために使用できます。


.ENUSCC {Name:'English Captions' lang: en-US; SAMIType:CC;}

SAMI 言語が指定されていない場合は、既定で SAMI ファイル内に最初に定義されている言語が使用されます。

put_SAMILang を使用して指定する値は、言語指定子の Name 属性と一致している必要があります。

Windows Media Player 10 Mobile: このメソッドは常に空の文字列を格納する BSTR を取得します。

vtbl 10 HRESULT put_SAMILang(LPWSTR bstrSAMILang)

put_SAMILang メソッドは、クローズドキャプションに表示される言語を指定します。

bstrSAMILangLPWSTRin言語を格納する BSTR へのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。

解説(Remarks)

1 つの SAMI ファイルには、1 つまたは複数の言語のテキストを含めることができます。クローズドキャプションに使用できる言語は、SAMI ファイル内の <STYLE> タグと </STYLE> タグの間に定義します。言語識別子は、ピリオド (.) を先頭に付けた一意の英数字文字列で指定します。言語に指定する名前には、任意の文字列を使用できます。たとえば、次のコードは米国英語を定義するために使用できます。

.ENUSCC {Name:'English Captions' lang: en-US; SAMIType:CC;}

SAMI 言語が指定されていない場合は、既定で SAMI ファイル内に最初に定義されている言語が使用されます。

put_SAMILang を使用して指定する値は、言語指定子の Name 属性と一致している必要があります。

Windows Media Player 10 Mobile: このメソッドは常に E_INVALIDARG を返します。

vtbl 11 HRESULT get_SAMIFileName(LPWSTR* pbstrSAMIFileName)

get_SAMIFileName メソッドは、クローズドキャプションに必要な情報を格納するファイルの名前を取得します。

pbstrSAMIFileNameLPWSTR*inoutSynchronized Accessible Media Interchange (SAMI) ファイルの名前を格納する BSTR へのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。

解説(Remarks)

SAMI ファイルには、.smi または .sami のファイル名拡張子を使用する必要があります。

IWMPClosedCaption::put_SAMIFileName を使用して値を指定していない場合、get_SAMIFileName メソッドは、現在のメディア項目に関連付けられた既定のファイルまたは URL を格納する BSTR を取得します。この関連付けは、sami URL パラメーターを使用して SAMI ファイルが指定されている場合、または SAMI ファイルがデジタルメディアファイルと同じ名前 (ファイル名拡張子を除く) である場合に自動的に発生します。現在のメディアに関連付けられた既定の SAMI ファイルがない場合、get_SAMIFileName は空の文字列 ("") を取得します。

Windows Media Player に特定のメディア項目に関連付けられた既定の SAMI ファイルを使用させたい場合は、次のメディア項目を再生する前に、空の文字列 ("") を使用して IWMPClosedCaption::put_SAMIFileName を呼び出します。

Windows Media Player 10 Mobile: このメソッドは常に空の文字列を格納する BSTR を取得します。

vtbl 12 HRESULT put_SAMIFileName(LPWSTR bstrSAMIFileName)

put_SAMIFileName メソッドは、クローズドキャプションに必要な情報を格納するファイルの名前を指定します。

bstrSAMIFileNameLPWSTRinSAMI ファイル名を格納する BSTR

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。

解説(Remarks)

SAMI ファイルには、.smi または .sami のファイル名拡張子を使用する必要があります。

put_SAMIFileName を使用して値を指定すると、その値は新しい値を指定するまで (または sami URL パラメーターを使用して新しいメディア項目が開かれるまで) 保持されます。そのため、新しいメディア項目を再生する前に、このメソッドで毎回新しい値を指定する必要があります。新しい値は、次のメディア項目が開かれたとき (または IWMPCore::close が呼び出されたとき) に有効になります。put_SAMIFileName を使用して新しい値を指定しても、現在のメディア項目には影響しません。

Windows Media Player 10 Mobile: このメソッドは常に E_INVALIDARG を返します。

vtbl 13 HRESULT get_captioningId(LPWSTR* pbstrCaptioningID)

get_captioningId メソッドは、キャプションを表示する要素の名前を取得します。

pbstrCaptioningIDLPWSTR*inoutキャプション ID を格納する BSTR へのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。

解説(Remarks)

指定する要素名には、innerHTML 属性をサポートしていれば、Web ページ内の任意の HTML 要素を使用できます。Web ページに複数のフレームが含まれている場合、要素名は Windows Media Player コントロールと同じフレーム内の要素のみを参照できます。

Windows Media Player 10 Mobile: このメソッドは常に空の文字列を格納する BSTR を取得します。

vtbl 14 HRESULT put_captioningId(LPWSTR bstrCaptioningID)

put_captioningId メソッドは、キャプションを表示する要素の名前を指定します。

bstrCaptioningIDLPWSTRinキャプション ID を格納する BSTR

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。

解説(Remarks)

指定する要素名には、innerHTML 属性をサポートしていれば、Web ページ内の任意の HTML 要素を使用できます。Web ページに複数のフレームが含まれている場合、要素名は Windows Media Player コントロールと同じフレーム内の要素のみを参照できます。

Windows Media Player 10 Mobile: このメソッドは常に E_INVALIDARG を返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IWMPClosedCaption "{4F2DF574-C588-11D3-9ED0-00C04FB6E937}"
#usecom global IWMPClosedCaption IID_IWMPClosedCaption "{}"
#comfunc global IWMPClosedCaption_get_SAMIStyle     7 var
#comfunc global IWMPClosedCaption_put_SAMIStyle     8 wstr
#comfunc global IWMPClosedCaption_get_SAMILang      9 var
#comfunc global IWMPClosedCaption_put_SAMILang      10 wstr
#comfunc global IWMPClosedCaption_get_SAMIFileName  11 var
#comfunc global IWMPClosedCaption_put_SAMIFileName  12 wstr
#comfunc global IWMPClosedCaption_get_captioningId  13 var
#comfunc global IWMPClosedCaption_put_captioningId  14 wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。