![]() |
* 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); } |