トップ «前の日記(2006-06-21 [水]) 最新 次の日記(2006-06-23 [金])» 編集

SewiGの日記

2004|01|04|05|06|07|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|

2006-06-22 [木] [長年日記]

[C#][Programming] C#でサウンド(2)

MCIを使う

Win32のwinmm.dllを呼び出すので、System.Runtime.InteropServicesを利用します。

using System.Runtime.InteropServices;

で、フィールド部分は以下のように記述します。

[DllImport("winmm.dll")]
extern static int mciSendString(string command, StringBuilder ret, int length, int cb);
private StringBuilder builder = new StringBuilder(32);

特に重要なのは、commandはMCIコマンド、再生や停止のコマンドを入れます。retは戻り値の文字列。lengthは文字列の長さ。

ファイルを開いて

mciSendString("open \"" + filename + "\" alias currentItem", null, 0, 0);

再生して

mciSendString("play currentItem", null, 0, 0);

停止して

mciSendString("stop currentItem", null, 0, 0);

閉じる

mciSendString("close currentItem", null, 0, 0);

MCIを使えば、Waveだけでなく音楽CDやMIDI、MP3なども再生できて便利です。MCIコマンドはほかにもいろいろあるのでぜひ調べてみてください。


Copyright © 2004-2008 SewiG All rights reserved.