サウンドファイル(*.wav, *.wma など)・メディアファイルの再生
Visual C++/CLR 2013 .NET サンプルプログラム
サウンドファイルを「*.wav」以外の形式のもの(*.wma)も再生するために、MediaPlayerクラスを使ってみた。MediaPlayerクラスは、サウンドファイル以外のものも再生できる。以下は、その試用記である。
まず、図1のようにプロジェクトを新規作成する。Visual Studio 2013におけるVisual C++/CLR Windows Desktopアプリケーションのプロジェクト新規作成については
<http://y-okamoto-psy1949.la.coocan.jp/booksetc/introvcpp/vs2012FormApp/>あるいは<http://y-okamoto-psy1949.la.coocan.jp/VCpp/easyvcpp2012/>
を参照されたい。
図1
ツールボックスにMediaPlayerがないときは、以下の操作で追加する。
ツールボックス内ペインをマウスの右ボタンでクリックすると表示されるメニュから「アイテムの選択」を選ぶ(図2)。
図2
表示された「ツールボックスアイテムの選択」ダイアログウィンドウにおいて「COMコンポーネント」ページを表示し、「Windows Media Player」を選ぶ(図3)。
図3
「Windows Media Player」がない場合は、「参照」ボタンをクリックして、「C:\WINDOWS\system32」フォルダを選ぶと、「Windows Media Player」が読み込まれて表示される。
「Windows Media Player」にチェックを入れて選んだ後、「OK」ボタンをクリックする。
ツールボックスに「Windows Media Player」アイテムが表示される(図4)。
図4
フォームに図5のようにコンポーネントを貼り付けた。コンポーネントの貼り付けなどについては、<岡本安晴「大学生のための心理学VC++プログラミング入門」勁草書房>を参照されたい。
図5
OpenFileDialogクラス型のコンポーネントも張り付けてあるが、これはフォームに貼り付けてもフォームには表示されず、下のバー上に表示される(岡本安晴「大学生のための心理学VC++プログラミング入門」勁草書房、p. 196 参照)。
コードは、以下のように用意した。
#pragma once
#include <stdlib.h> // for system() function.
namespace MP_Sample {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
・
・
・
#pragma endregion
private: System::Void buttonClose_Click(System::Object^ sender, System::EventArgs^ e) {
if (system("taskkill /IM wmplayer.exe") != 0){ // include <stdlib.h>
system("C:\\Windows\\System32\\taskkill.exe /IM wmplayer.exe");
}
this->Close();
}
private: System::Void buttonGO_Click(System::Object^ sender, System::EventArgs^ e) {
openFileDialog1->ShowDialog();
axWindowsMediaPlayer1->openPlayer(openFileDialog1->FileName);
this->TopMost = true;
}
private: System::Void buttonKill_Click(System::Object^ sender, System::EventArgs^ e) {
if (system("taskkill /IM wmplayer.exe") != 0){
system("C:\\Windows\\System32\\taskkill.exe /IM wmplayer.exe");
}
}
};
}
実行すると図6のようにフォームが表示される。
図6
「GO」ボタンをクリックするとMediaPlayerで再生するファイル名の設定を求めるダイアログウィンドウが表示される(図7)。
図7
図7のように画像ファイルを選ぶと画像が表示される。
再生・表示のときに提示されるメディアプレイヤーのフォームは、「Kill MP」ボタンのクリックで消える。
プログラムのソースファイルなどをまとめた圧縮ファイルMP_Sample.zipを用意した。圧縮ファイルMP_Sample.zipは、ダウンロード解凍すればVisual Studio 2013で開くことができる。