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

IWMPPlayer

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

公式ドキュメント

IWMPPlayer インターフェイスは、Windows Media Player コントロールのユーザーインターフェイスの基本的な動作を変更するためのメソッドを提供します。これらのメソッドは IWMPCore インターフェイスを補完します。

メソッド 8

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

vtbl 28 HRESULT get_enabled(VARIANT_BOOL* pbEnabled)

get_enabled メソッドは、Windows Media Player コントロールが有効かどうかを示す値を取得します。

pbEnabledVARIANT_BOOL*inoutWindows Media Player コントロールが有効かどうかを示す VARIANT_BOOL へのポインター。

戻り値

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

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

解説(Remarks)

get_enabled から受け取った VARIANT_BOOLFALSE の場合、Windows Media Player は全画面再生中にユーザーコントロールを非表示にします。

vtbl 29 HRESULT put_enabled(VARIANT_BOOL bEnabled)

put_enabled メソッドは、Windows Media Player コントロールが有効かどうかを示す値を設定します。

bEnabledVARIANT_BOOLinWindows Media Player コントロールが有効かどうかを示す VARIANT_BOOL

戻り値

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

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

解説(Remarks)

put_enabled で指定した VARIANT_BOOLFALSE に設定されている場合、Windows Media Player は全画面再生中にユーザーコントロールを非表示にします。

vtbl 30 HRESULT get_fullScreen(VARIANT_BOOL* pbFullScreen)

get_fullScreen メソッドは、ビデオコンテンツが全画面モードで再生されるかどうかを示す値を取得します。

pbFullScreenVARIANT_BOOL*inoutビデオコンテンツが全画面モードで再生されるかどうかを示す VARIANT_BOOL へのポインター。既定値は FALSE です。

戻り値

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

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

解説(Remarks)

Windows Media Player コントロールを埋め込む際に全画面モードが正しく動作するためには、ビデオ表示領域の高さと幅が少なくとも 1 ピクセルなければなりません。IWMPPlayer::put_uiMode で指定する BSTR が "mini" または "full" に設定されている場合、ユーザーインターフェイスに加えてビデオ表示領域を確保するために、コントロール自体の高さが 65 ピクセル以上でなければなりません。

IWMPPlayer::put_uiMode で指定する BSTR が "invisible" に設定されている場合、get_fullScreenVARIANT_BOOLTRUE に指定するとエラーが発生し、コントロールの動作には影響しません。

全画面再生中、IWMPPlayer::get_enableContextMenu から取得した VARIANT_BOOLFALSE で、かつ IWMPPlayer::get_uiMode から取得した BSTR が "none" の場合、Windows Media Player はマウスカーソルを非表示にします。

IWMPPlayer::put_uiMode で指定する BSTR が "full" または "mini" に設定されている場合、Windows Media Player はマウスカーソルが動くと全画面モードで再生コントロールを表示します。マウスがしばらく動かないと、再生コントロールは非表示になります。IWMPPlayer::put_uiMode で指定する BSTR が "none" に設定されている場合、全画面モードではコントロールは表示されません。

メモ

全画面モードで再生コントロールを表示するには Windows XP オペレーティングシステムが必要です。

全画面モードで再生コントロールが表示されない場合、Windows Media Player は再生が停止すると自動的に全画面モードを終了します。

vtbl 31 HRESULT put_fullScreen(VARIANT_BOOL bFullScreen)

put_fullScreen メソッドは、ビデオコンテンツが全画面モードで再生されるかどうかを示す値を設定します。

bFullScreenVARIANT_BOOLinビデオコンテンツが全画面モードで再生されるかどうかを示す VARIANT_BOOL。既定値は FALSE です。

戻り値

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

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

解説(Remarks)

Windows Media Player コントロールを埋め込む際に全画面モードが正しく動作するためには、ビデオ表示領域の高さと幅が少なくとも 1 ピクセルなければなりません。IWMPPlayer::put_uiMode で指定する BSTR が "mini" または "full" に設定されている場合、ユーザーインターフェイスに加えてビデオ表示領域を確保するために、コントロール自体の高さが 65 ピクセル以上でなければなりません。

IWMPPlayer::put_uiMode で指定する BSTR が "invisible" に設定されている場合、IWMPPlayer::get_fullScreenVARIANT_BOOLTRUE に指定するとエラーが発生し、コントロールの動作には影響しません。

全画面再生中、IWMPPlayer::get_enableContextMenu から取得した VARIANT_BOOLFALSE で、かつ IWMPPlayer::get_uiMode から取得した BSTR が "none" の場合、Windows Media Player はマウスカーソルを非表示にします。

IWMPPlayer::put_uiMode で指定する BSTR が "full" または "mini" に設定されている場合、Windows Media Player はマウスカーソルが動くと全画面モードで再生コントロールを表示します。マウスがしばらく動かないと、再生コントロールは非表示になります。IWMPPlayer::put_uiMode で指定する BSTR が "none" に設定されている場合、全画面モードではコントロールは表示されません。

メモ

全画面モードで再生コントロールを表示するには Windows XP オペレーティングシステムが必要です。

全画面モードで再生コントロールが表示されない場合、Windows Media Player は再生が停止すると自動的に全画面モードを終了します。

vtbl 32 HRESULT get_enableContextMenu(VARIANT_BOOL* pbEnableContextMenu)

get_enableContextMenu メソッドは、マウスの右ボタンをクリックしたときに表示されるコンテキストメニューを有効にするかどうかを示す値を取得します。

pbEnableContextMenuVARIANT_BOOL*inoutコンテキストメニューを有効にするかどうかを示す VARIANT_BOOL へのポインター。既定値は TRUE です。

戻り値

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

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

解説(Remarks)

全画面再生中、get_enableContextMenu で取得した VARIANT_BOOLFALSE で、かつ IWMPPlayer::get_uiMode で取得した BSTR が "none" の場合、Windows Media Player はマウスカーソルを非表示にします。

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

vtbl 33 HRESULT put_enableContextMenu(VARIANT_BOOL bEnableContextMenu)

put_enableContextMenu メソッドは、マウスの右ボタンをクリックしたときに表示されるコンテキストメニューを有効にするかどうかを示す値を設定します。

bEnableContextMenuVARIANT_BOOLinコンテキストメニューを有効にするかどうかを示す VARIANT_BOOL。既定値は TRUE です。

戻り値

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

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

解説(Remarks)

全画面再生中、IWMPPlayer::get_enableContextMenu で取得した VARIANT_BOOLFALSE で、かつ IWMPPlayer::get_uiMode で取得した BSTR が "none" の場合、Windows Media Player はマウスカーソルを非表示にします。

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

vtbl 34 HRESULT put_uiMode(LPWSTR bstrMode)

put_uiMode メソッドは、ユーザーインターフェイスに表示するコントロールを示す値を設定します。

bstrModeLPWSTRin

BSTR。次のいずれかの値を含みます。

説明 オーディオの例 ビデオの例
invisible Windows Media Player は、表示されるユーザーインターフェイス(コントロール、ビデオ、視覚エフェクトウィンドウ)を一切伴わずに埋め込まれます。 (何も表示されません。) (何も表示されません。)
none Windows Media Player は、コントロールを伴わず、ビデオまたは視覚エフェクトウィンドウのみが表示された状態で埋め込まれます。 uiMode="none" with audio uiMode="none" with video
mini Windows Media Player は、ビデオまたは視覚エフェクトウィンドウに加えて、ステータスウィンドウ、再生/一時停止、停止、ミュート、音量の各コントロールが表示された状態で埋め込まれます。 uiMode="mini" with audio uiMode="mini" with video
full 既定値。Windows Media Player は、ビデオまたは視覚エフェクトウィンドウに加えて、ステータスウィンドウ、シークバー、再生/一時停止、停止、ミュート、次へ、前へ、早送り、早戻し、音量の各コントロールが表示された状態で埋め込まれます。 uiMode="full" with audio uiMode="full" with video
custom Windows Media Player は、カスタムユーザーインターフェイスを伴って埋め込まれます。C++ プログラムでのみ使用できます。 (カスタムユーザーインターフェイスが表示されます。) (カスタムユーザーインターフェイスが表示されます。)

戻り値

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

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

解説(Remarks)

このメソッドは、埋め込まれた Windows Media Player の外観を指定します。put_uiMode で指定する BSTR が "none"、"mini"、または "full" に設定されている場合、ビデオクリップやオーディオの視覚エフェクトを表示するためのウィンドウが存在します。mini または full モードでは、OBJECT タグの height 属性を 40 に設定することでこのウィンドウを非表示にできます。これは下端から測定され、ユーザーインターフェイスのコントロール部分は表示されたままになります。埋め込みインターフェイスが不要な場合は、width 属性と height 属性の両方を 0 に設定します。

put_uiMode で指定する BSTR が "invisible" に設定されている場合、ユーザーインターフェイスは表示されませんが、widthheight で指定されたスペースはページ上に確保されたままになります。これは、UI モードが変わってもページレイアウトを維持するのに役立ちます。さらに、確保されたスペースは透明なので、コントロールの背後に重ねられた要素はすべて表示されます。

put_uiMode で指定する BSTR が "full" または "mini" に設定されている場合、Windows Media Player は全画面モードで再生コントロールを表示します。put_uiMode で指定する BSTR が "none" に設定されている場合、全画面モードではコントロールは表示されません。

ウィンドウが表示されていてオーディオコンテンツが再生されている場合、表示される視覚エフェクトは Windows Media Player で最後に使用されたものになります。

IWMPRemoteMediaServices を実装する C++ プログラムで put_uiMode に指定する BSTR が "custom" に設定されている場合、IWMPRemoteMediaServices::GetCustomUIMode で示されるスキンファイルが表示されます。

全画面再生中、IWMPPlayer::get_enableContextMenu から取得した VARIANT_BOOLFALSE で、かつ IWMPPlayer::get_uiMode から取得した BSTR が "none" の場合、Windows Media Player はマウスカーソルを非表示にします。

Windows Media Player 10 Mobile: このメソッドは "none" または "full" に設定された BSTR のみを指定します。スマートフォンデバイスでは、uiMode を "full" に設定すると、再生ステータスとカウンターのみが表示されます。

vtbl 35 HRESULT get_uiMode(LPWSTR* pbstrMode)

get_uiMode メソッドは、ユーザーインターフェイスに表示するコントロールを示す値を取得します。

pbstrModeLPWSTR*inout

次のいずれかの値を含む BSTR へのポインター。

説明 オーディオの例 ビデオの例
invisible Windows Media Player は、表示されるユーザーインターフェイス(コントロール、ビデオ、視覚エフェクトウィンドウ)を一切伴わずに埋め込まれます。 (何も表示されません。) (何も表示されません。)
none Windows Media Player は、コントロールを伴わず、ビデオまたは視覚エフェクトウィンドウのみが表示された状態で埋め込まれます。 uiMode="none" with audio uiMode="none" with video
mini Windows Media Player は、ビデオまたは視覚エフェクトウィンドウに加えて、ステータスウィンドウ、再生/一時停止、停止、ミュート、音量の各コントロールが表示された状態で埋め込まれます。 uiMode="mini" with audio uiMode="mini" with video
full 既定値。Windows Media Player は、ビデオまたは視覚エフェクトウィンドウに加えて、ステータスウィンドウ、シークバー、再生/一時停止、停止、ミュート、次へ、前へ、早送り、早戻し、音量の各コントロールが表示された状態で埋め込まれます。 uiMode="full" with audio uiMode="full" with video
custom Windows Media Player は、カスタムユーザーインターフェイスを伴って埋め込まれます。C++ プログラムでのみ使用できます。 (カスタムユーザーインターフェイスが表示されます。) (カスタムユーザーインターフェイスが表示されます。)

戻り値

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

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

解説(Remarks)

このメソッドは、埋め込まれた Windows Media Player の外観を取得します。get_uiMode から取得した BSTR が "none"、"mini"、または "full" の場合、ビデオクリップやオーディオの視覚エフェクトを表示するためのウィンドウが存在します。mini または full モードでは、OBJECT タグの height 属性を 40 に設定することでこのウィンドウを非表示にできます。これは下端から測定され、ユーザーインターフェイスのコントロール部分は表示されたままになります。埋め込みインターフェイスが不要な場合は、width 属性と height 属性の両方を 0 に設定します。

get_uiMode から取得した BSTR が "invisible" の場合、ユーザーインターフェイスは表示されませんが、widthheight で指定されたスペースはページ上に確保されたままになります。これは、UI モードが変わってもページレイアウトを維持するのに役立ちます。さらに、確保されたスペースは透明なので、コントロールの背後に重ねられた要素はすべて表示されます。

get_uiMode から取得した BSTR が "full" または "mini" の場合、Windows Media Player は全画面モードで再生コントロールを表示します。get_uiMode から取得した BSTR が "none" の場合、全画面モードではコントロールは表示されません。

ウィンドウが表示されていてオーディオコンテンツが再生されている場合、表示される視覚エフェクトは Windows Media Player で最後に使用されたものになります。

IWMPRemoteMediaServices を実装する C++ プログラムで get_uiMode から取得した BSTR が "custom" の場合、IWMPRemoteMediaServices::GetCustomUIMode で示されるスキンファイルが表示されます。

全画面再生中、IWMPPlayer::get_enableContextMenu から受け取った VARIANT_BOOLFALSE で、かつ get_uiMode から受け取った BSTR が "none" の場合、Windows Media Player はマウスカーソルを非表示にします。

Windows Media Player 10 Mobile: このメソッドは "none" または "full" に設定された BSTR のみを取得します。スマートフォンデバイスでは、uiMode が "full" に設定されている場合、再生ステータスとカウンターのみが表示されます。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IWMPPlayer "{6BF52A4F-394A-11D3-B153-00C04F79FAA6}"
#usecom global IWMPPlayer IID_IWMPPlayer "{}"
#comfunc global IWMPPlayer_get_enabled            28 var
#comfunc global IWMPPlayer_put_enabled            29 int
#comfunc global IWMPPlayer_get_fullScreen         30 var
#comfunc global IWMPPlayer_put_fullScreen         31 int
#comfunc global IWMPPlayer_get_enableContextMenu  32 var
#comfunc global IWMPPlayer_put_enableContextMenu  33 int
#comfunc global IWMPPlayer_put_uiMode             34 wstr
#comfunc global IWMPPlayer_get_uiMode             35 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。