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

IWMPControls3

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDa1d1110e-d545-476a-9a78-ac3e4cb1e6bd継承元IWMPControls2呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl24

公式ドキュメント

IWMPControls3 インターフェイスは、IWMPControls2 インターフェイスを補完するメソッドを提供します。

メソッド 10

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

vtbl 24 HRESULT get_audioLanguageCount(INT* plCount)

get_audioLanguageCount メソッドは、サポートされているオーディオ言語の数を取得します。

plCountINT*inout数を格納する long へのポインター。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

Windows Media ベースのコンテンツの場合、言語選択に関連するプロパティとメソッドは単一の出力のみをサポートします。

Windows Media Player 10 Mobile: このメソッドは常に 1 に設定された long を取得します。

vtbl 25 HRESULT getAudioLanguageID(INT lIndex, INT* plLangID)

getAudioLanguageID メソッドは、指定されたオーディオ言語インデックスのロケール識別子 (LCID) を取得します。

lIndexINTinオーディオ言語の 1 から始まるインデックスを指定する long
plLangIDINT*inoutLCID を格納する long へのポインター。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

LCID は、ロケールと呼ばれる特定の言語の方言を一意に識別します。

Windows Media ベースのコンテンツの場合、言語選択に関連するプロパティとメソッドは単一の出力のみをサポートします。

get_audioLanguageCount メソッドを使用してサポートされているオーディオ言語の数を取得し、1 から始まるインデックスを使用して個々のオーディオ言語にアクセスします。

Windows Media Player 10 Mobile: このメソッドは常に 0 (言語ニュートラルな LCID) に設定された long を取得します。

vtbl 26 HRESULT getAudioLanguageDescription(INT lIndex, LPWSTR* pbstrLangDesc)

getAudioLanguageDescription メソッドは、指定された 1 から始まるインデックスに対応するオーディオ言語の説明を取得します。

lIndexINTin1 から始まるオーディオ言語インデックスを指定する long
pbstrLangDescLPWSTR*inout説明を格納する BSTR へのポインター。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

Windows Media ベースのコンテンツの場合、言語選択に関連するプロパティとメソッドは単一の出力のみをサポートします。

get_audioLanguageCount メソッドを使用してサポートされているオーディオ言語の数を取得し、1 から始まるインデックスを使用して個々のオーディオ言語にアクセスします。

Windows Media Player 10 Mobile: このメソッドはサポートされていません。

vtbl 27 HRESULT get_currentAudioLanguage(INT* plLangID)

get_currentAudioLanguage メソッドは、再生に使用するオーディオ言語のロケール識別子 (LCID) を取得します。

plLangIDINT*inoutLCID を格納する long へのポインター。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

LCID は、ロケールと呼ばれる特定の言語の方言を一意に識別します。

Windows Media ベースのコンテンツの場合、言語選択に関連するプロパティとメソッドは単一の出力のみをサポートします。

DVD コンテンツを扱う場合、LCID を指定すると、指定された言語 ID を持つ最初の利用可能なオーディオトラックが選択されます。

Windows Media Player 10 Mobile: このメソッドは常に 0 (言語ニュートラルな LCID) に設定された long を取得します。

vtbl 28 HRESULT put_currentAudioLanguage(INT lLangID)

put_currentAudioLanguage メソッドは、再生に使用するオーディオ言語のロケール識別子 (LCID) を指定します。

lLangIDINTinLCID を格納する long

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

LCID は、ロケールと呼ばれる特定の言語の方言を一意に識別します。

Windows Media ベースのコンテンツの場合、言語選択に関連するプロパティとメソッドは単一の出力のみをサポートします。

DVD コンテンツを扱う場合、LCID を指定すると、指定された言語 ID を持つ最初の利用可能なオーディオトラックが選択されます。

Windows Media Player 10 Mobile: このメソッドは 0 (言語ニュートラルな LCID) に設定された long のみを受け付けます。それ以外の場合は E_INVALIDARG HRESULT が返されます。

vtbl 29 HRESULT get_currentAudioLanguageIndex(INT* plIndex)

get_currentAudioLanguageIndex メソッドは、再生に使用するオーディオ言語に対応する 1 から始まるインデックスを取得します。

plIndexINT*inout1 から始まるインデックスを格納する long へのポインター。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

Windows Media ベースのコンテンツの場合、言語選択に関連するプロパティとメソッドは単一の出力のみをサポートします。

get_audioLanguageCount メソッドを使用して、サポートされているオーディオ言語の数を取得します。

Windows Media Player 10 Mobile: このメソッドは常に 0 に設定された long を取得します。

vtbl 30 HRESULT put_currentAudioLanguageIndex(INT lIndex)

put_currentAudioLanguageIndex メソッドは、再生に使用するオーディオ言語に対応する 1 から始まるインデックスを指定します。

lIndexINTin1 から始まるインデックスを格納する long

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

Windows Media ベースのコンテンツの場合、言語選択に関連するプロパティとメソッドは単一の出力のみをサポートします。

get_audioLanguageCount メソッドを使用して、サポートされているオーディオ言語の数を取得します。

Windows Media Player 10 Mobile: このメソッドは 0 に設定された long のみを受け付けます。それ以外の場合は E_INVALIDARG HRESULT が返されます。

vtbl 31 HRESULT getLanguageName(INT lLangID, LPWSTR* pbstrLangName)

getLanguageName メソッドは、指定されたロケール識別子 (LCID) を持つオーディオ言語の名前を取得します。

lLangIDINTinLCID を指定する long
pbstrLangNameLPWSTR*inoutオーディオ言語名を格納する BSTR へのポインター。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

LCID は、ロケールと呼ばれる特定の言語の方言を一意に識別します。

Windows Media ベースのコンテンツの場合、言語選択に関連するプロパティとメソッドは単一の出力のみをサポートします。

vtbl 32 HRESULT get_currentPositionTimecode(LPWSTR* bstrTimecode)

get_currentPositionTimecode メソッドは、タイムコード形式を使用して現在のメディア項目内の現在位置を取得します。このメソッドは現在 SMPTE タイムコードをサポートしています。

bstrTimecodeLPWSTR*inoutタイムコードを格納する BSTR へのポインター。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

SMPTE タイムコードは、個々のビデオフレームを識別する標準的な方法を提供し、再生の同期に役立ちます。デジタルメディアファイルが SMPTE タイムコードをサポートしている場合、Windows Media Player は現在のタイムコード位置情報を取得したり、特定のタイムコードを格納した BSTR によって識別されるビデオフレームにシークしたりできます。

SMPTE タイムコードは、特定の参照フレーム (時刻ゼロとして指定されたフレーム) からそのフレームまでを隔てる時間、分、秒、およびフレームの数によって特定のフレームを識別します。通常、時刻ゼロのフレームはファイルの先頭であり、特定の SMPTE タイムコード値はファイルの先頭からの経過時間を表します。

タイムコードは [range]hh:mm:ss.ff の形式で、[range] は範囲、hh は時間、mm は分、ss は秒、ff はフレームを表します。IWMPControls3::put_currentPositionTimecode の値を指定する場合は、0 をプレースホルダーとして使用して、8 桁すべてを含める必要があります。

[range] は、Windows Media Format の WMT_TIMECODE_EXTENSION_DATA 構造体の wRange メンバーに対応します。タイムコード範囲の詳細については、Windows Media Format SDK を参照してください。

put_currentPositionTimecodeget_currentPositionTimecode を使用した値の指定と取得は、SMPTE タイムコード情報を含むファイルでのみサポートされます。

Windows Media Player 10 Mobile: オブジェクトモデルを通じて SMPTE タイムコードを取得または指定する場合、タイムコード形式の範囲およびフレームのセクションはサポートされません。

vtbl 33 HRESULT put_currentPositionTimecode(LPWSTR bstrTimecode)

put_currentPositionTimecode メソッドは、タイムコード形式を使用して現在のメディア項目内の現在位置を指定します。このメソッドは現在 SMPTE タイムコードをサポートしています。

bstrTimecodeLPWSTRinタイムコードを格納する BSTR

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

SMPTE タイムコードは、個々のビデオフレームを識別する標準的な方法を提供し、再生の同期に役立ちます。デジタルメディアファイルが SMPTE タイムコードをサポートしている場合、Windows Media Player は現在のタイムコード位置情報を取得したり、特定のタイムコードを格納した BSTR によって識別されるビデオフレームにシークしたりできます。

SMPTE タイムコードは、特定の参照フレーム (時刻ゼロとして指定されたフレーム) からそのフレームまでを隔てる時間、分、秒、およびフレームの数によって特定のフレームを識別します。通常、時刻ゼロのフレームはファイルの先頭であり、特定の SMPTE タイムコード値はファイルの先頭からの経過時間を表します。

タイムコードは [range]hh:mm:ss.ff の形式で、[range] は範囲、hh は時間、mm は分、ss は秒、ff はフレームを表します。put_currentPositionTimecode の値を指定する場合は、0 をプレースホルダーとして使用して、8 桁すべてを含める必要があります。

[range] は、Windows Media Format の WMT_TIMECODE_EXTENSION_DATA 構造体の wRange メンバーに対応します。タイムコード範囲の詳細については、Windows Media Format SDK を参照してください。

put_currentPositionTimecodeget_currentPositionTimecode を使用した値の指定と取得は、SMPTE タイムコード情報を含むファイルでのみサポートされます。

Windows Media Player 10 Mobile: オブジェクトモデルを通じて SMPTE タイムコードを取得または指定する場合、タイムコード形式の範囲およびフレームのセクションはサポートされません。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IWMPControls3 "{A1D1110E-D545-476A-9A78-AC3E4CB1E6BD}"
#usecom global IWMPControls3 IID_IWMPControls3 "{}"
#comfunc global IWMPControls3_get_audioLanguageCount         24 var
#comfunc global IWMPControls3_getAudioLanguageID             25 int,var
#comfunc global IWMPControls3_getAudioLanguageDescription    26 int,var
#comfunc global IWMPControls3_get_currentAudioLanguage       27 var
#comfunc global IWMPControls3_put_currentAudioLanguage       28 int
#comfunc global IWMPControls3_get_currentAudioLanguageIndex  29 var
#comfunc global IWMPControls3_put_currentAudioLanguageIndex  30 int
#comfunc global IWMPControls3_getLanguageName                31 int,var
#comfunc global IWMPControls3_get_currentPositionTimecode    32 var
#comfunc global IWMPControls3_put_currentPositionTimecode    33 wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。