こんばんは。
VC++2010 MFCで、WindwowsMediaPlayer ActiveXを使用した簡易プレーヤーを作成したい
と考えております。アイテムの選択から、[COMコンポーネント]で
「WindowsMediaPlayer」を選択し、フォームに、WindowsMediaPlayerコントロールを貼り
付けます。フォーム上のWindowsMediaPlayerコントロールで右クリックし、コントロール
変数を追加します。(たとえばwmp)。しかし、この変数は、「WindowsMediaPlayer」では
なく、「COcx」の型で、VBやVC#のように、wmp.setting.url()などの関数がプレーヤーを
制御する効きません。 VC++2010 MFCの「WindwowsMediaPlayer ActiveX」はどのように使
用するのでしょうか?よろしくお願い致します。
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);
使ったことがないですがこんなのもあります。
本格的につかうならおすすめです。
http://msdn.microsoft.com/ja-jp/library/dd148616.aspx