VC++でWindwowsMediaPlayer ActiveX コントロールの使い方

[戻る]
どもたん 2013/05/02(木) 01:15:20
こんばんは。
VC++2010 MFCで、WindwowsMediaPlayer ActiveXを使用した簡易プレーヤーを作成したい
と考えております。アイテムの選択から、[COMコンポーネント]で
「WindowsMediaPlayer」を選択し、フォームに、WindowsMediaPlayerコントロールを貼り
付けます。フォーム上のWindowsMediaPlayerコントロールで右クリックし、コントロール
変数を追加します。(たとえばwmp)。しかし、この変数は、「WindowsMediaPlayer」では
なく、「COcx」の型で、VBやVC#のように、wmp.setting.url()などの関数がプレーヤーを
制御する効きません。 VC++2010 MFCの「WindwowsMediaPlayer ActiveX」はどのように使
用するのでしょうか?よろしくお願い致します。

AR 2013/05/08(水) 09:28:07
MFCで操作できるクラスを作るのが面倒ですよね。
以下の手順で作れます。

1.Ctrl+Shift+Xを押してクラスウィザードを表示
2.クラスの追加をクリックし、TypeLibからのMFCクラスを選択
3.Windows Media Player<1.0>を選択
4.インターフェイスを全部選択してクラスを生成(要らないものは後から破棄する)

貼り付けたコントロールのメンバ変数をキャストしてもいいのですが、私はコントロール
を貼り付けず、コントロールを動的生成して使用しています。

ヘッダでの宣言
CMediaPlayer2 *m_pMediaPlayer2;

ダイアログでの初期化処理
CLSID Clsid;
m_pMediaPlayer2 = new CMediaPlayer2();
if (m_pMediaPlayer2)
{
    Clsid = m_pMediaPlayer2->GetClsid();
    m_pMediaPlayer2->CreateControl(Clsid, _T(""), WS_VISIBLE | WS_CHILD , rc,
m_pParentWnd, 5000 + m_nType);
    m_pMediaPlayer2->ShowWindow(SW_SHOW);

ITO 2013/05/10(金) 13:14:11
使ったことがないですがこんなのもあります。
本格的につかうならおすすめです。
http://msdn.microsoft.com/ja-jp/library/dd148616.aspx

古いスレッドには追加発言できません。