| * U K I Y A H O N P O * Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura, che la diritta via era smarrita. |
C#コード断片/1.1/MCIコマンドで音を再生 のバックアップ(No.1)
MCIコマンドで音を再生再生終了時に指定したウィンドウにNOTIFYメッセージを送る機能の処理方法つき。 [DllImport("winmm.dll",CharSet=CharSet.Auto,CallingConvention=CallingConvention.Winapi)]
public static extern int mciSendString(
string lpszCommand, // コマンド文字列
string lpszReturnString, // 情報を受け取るバッファ
int cchReturn, // バッファのサイズ
IntPtr hwndCallback // コールバックウィンドウのハンドル
);
private static int MM_MCINOTIFY=0x3B9;
private static int MCI_NOTIFY_SUCCESSFUL = 1;
mciSendString("open "+filename+" alias _snd",null,0,IntPtr.Zero);
mciSendString("play _snd from 0 notify",null,0,this.Handle);
protected override void WndProc(ref Message m) {
if(m.Msg==MM_MCINOTIFY && (int)m.WParam==MCI_NOTIFY_SUCCESSFUL){
//ここに再生終了時の処理を記入
//終る時は
mciSendString("stop _snd",null,0,IntPtr.Zero);
mciSendString("close _snd",null,0,IntPtr.Zero);
}
base.WndProc (ref m);
}
|