サウンドファイル(*.wav)の再生
Visual C++/CLRプログラム
*.wav以外のサウンドファイルを再生するプログラム例は別のウェブサイトで扱っている。
サウンドファイル(*.wavファイル)を読み込み再生する簡単なサンプルプログラムを作成した。参照クラス型System::Media:: SoundPlayerを用いるので
System::Media::SoundPlayer ^ SP;
と宣言しておく。
SPに再生ファイルを設定するために、フォーム上に用意したOpenボタンのクリックで実行されるメソッド内で、コンストラクタの引数としてサウンドファイル名を指定してSPのオブジェクトを生成する。具体的なコードは以下のようである。
private: System::Void
buttonOpen_Click(System::Object^
sender, System::EventArgs^
e) {
buttonOpen->Enabled = false;
openFileDialog1->Filter = "*.wav|*.wav";
if
(openFileDialog1->ShowDialog() == Windows::Forms::DialogResult::Cancel){
buttonOpen->Enabled = true;
return;
}
SP = gcnew
System::Media::SoundPlayer(openFileDialog1->FileName);
buttonOpen->Enabled = true;
}
再生は、フォーム上に用意した「Play」ボタンのクリックで実行されるメソッド内で、Playメソッドを呼び出して行うが、具体的なコードは以下のようである。
private: System::Void
buttonPlay_Click(System::Object^
sender, System::EventArgs^
e) {
SP->Play();
}
プログラムの実行形式のファイルPlaySound.exeを用意したので、プログラムファイル名PlaySound.exeをクリックするとダウンロード・実行できる。実行すると図1のフォームが表示される。
図1
「Open」ボタンのクリックでファイル名設定のダイアログボックスが表示される(図2)。
図2
図2ではOfficeに用意されている*.wavファイルを設定している。これらのファイルは、筆者のPCの場合、図3に示すフォルダにある。
図3
ファイルの選択後、「開く」ボタンをクリックすると図1のフォームに戻る。この状態で「Play」ボタンをクリックすると設定したサウンドファイルが再生される。別のファイルを設定し直すときは再度「Open」ボタンをクリックする。
プログラムソースファイルなどをまとめたものは圧縮ファイルPlaySound.zipとして用意した。圧縮ファイル名PlaySound.zipをマウスの右ボタンでクリックしてダウンロードした後、ダウンロードした圧縮ファイル名をマウスの右ボタンでクリックして表示されるメニュ「解凍」あるいは「展開」を選ぶと解凍される。解凍されたファイルはVisual C++2008などで開くことができる。