五子棋点击登录或者注册后在播放背景音乐处死循环,进不去游戏大厅
public partial class Frm_Hall : Form
{
public Frm_Hall()
{
InitializeComponent();
//PlaySong("audio\\" + new Random().Next(1, 8) + ".wav");
}
#region 全局变量
ClientClass frmClient = new ClientClass();
Publec_Class PubClass = new Publec_Class();
ClassUsers users;
public static bool PressGame = false;
#endregion
#region 循环播放背景音乐
private const int MM_MCINOTIFY = 0x3B9;//声明播放完时向系统发送的指令
[DllImport("winmm.dll")]
private static extern long mciSendString(string command, StringBuilder returnString, int returnSize, IntPtr hwndCallback);
//播放音乐
private void PlaySong(string file)
{
mciSendString("close media", null, 0, IntPtr.Zero);//关闭
mciSendString("open " + file + " alias media", null, 0, IntPtr.Zero);//播放指定音乐,alias表示将文件别名为media
mciSendString("play media notify", null, 0, this.Handle);//播放
}
protected override void DefWndProc(ref Message m)//重写方法,接收自定义的指令消息
{
base.DefWndProc(ref m);
if (m.Msg == MM_MCINOTIFY)//MM_MCINOTIFY
{
PlaySong("audio\\" + new Random().Next(1, 8) + ".wav");//播放指定音乐
}
}
#endregion