直接上代码:
public const int MM_MCINOTIFY = 0x3B9;
//声明MCI函数,以播放音乐
[System.Runtime.InteropServices.DllImport("Winmm.dll")]
public static extern int mciSendString(
string lpszCommand,
string lpszReturnString,
int cchReturn,
IntPtr hwndCallback
);
protected override void DefWndProc(ref Message m)
{
base.DefWndProc(ref m);
if (m.Msg == MM_MCINOTIFY) //判断指令是不是MM_MCINOTIFY
//当歌曲播完 mciSendString()向系统发送的MM_MCINOTIFY指令
{
PlayMusic(Application.StartupPath + "\\img\\song\\love.mp3");
}
}
public void PlayMusic(string MusicPath)//播放背景音乐
{
mciSendString("close media", null, 0, IntPtr.Zero);//关闭
mciSendString("open \"" + MusicPath + "\" type mpegvideo alias media", null, 0, IntPtr.Zero);
mciSendString("play media notify", null, 0, this.Handle);//播放
}
然后以后再调用PlayMusic函数就可以实现音乐的循环播放了~~
原文:http://www.cnblogs.com/greatverve/archive/2011/06/24/mciSendString.html