如题:

解决方案 »

  1.   

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Runtime.InteropServices;namespace PlaySound
    {
        internal class Helpers
        {
            [Flags]
            public enum PlaySoundFlags : int
            {
                SND_SYNC = 0x0000,    /*  play  synchronously  (default)  */  //同步  
                SND_ASYNC = 0x0001,    /*  play  asynchronously  */  //异步  
                SND_NODEFAULT = 0x0002,    /*  silence  (!default)  if  sound  not  found  */
                SND_MEMORY = 0x0004,    /*  pszSound  points  to  a  memory  file  */
                SND_LOOP = 0x0008,    /*  loop  the  sound  until  next  sndPlaySound  */
                SND_NOSTOP = 0x0010,    /*  don't  stop  any  currently  playing  sound  */
                SND_NOWAIT = 0x00002000,  /*  don't  wait  if  the  driver  is  busy  */
                SND_ALIAS = 0x00010000,  /*  name  is  a  registry  alias  */
                SND_ALIAS_ID = 0x00110000,  /*  alias  is  a  predefined  ID  */
                SND_FILENAME = 0x00020000,  /*  name  is  file  name  */
                SND_RESOURCE = 0x00040004    /*  name  is  resource  name  or  atom  */
            }        [DllImport("winmm")]
            public static extern bool PlaySound(string szSound, IntPtr hMod, PlaySoundFlags flags);
        }    public class Sound
        {
            //播放
            public static void Play(string strFileName)
            {
                switch (strFileName)
                {
                case "start":
                    strFileName = @"..\..\sound\start.WAV";
                    break;
                case "back":
                    strFileName = @"..\..\sound\back.WAV";
                    break;
                case "fall":
                    strFileName = @"..\..\sound\fall.WAV";
                    break;
                case "huiqi":
                    strFileName = @"..\..\sound\huiqi.WAV";
                    break;
                case "huiqiend":
                    strFileName = @"..\..\sound\huiqiend.WAV";
                    break;
                case "jiangjun":
                    strFileName = @"..\..\sound\jiangjun.WAV";
                    break;
                case "kill":
                    strFileName = @"..\..\sound\kill.WAV";
                    break;
                case "win":
                    strFileName = @"..\..\sound\win.WAV";
                    break;
                case "move":
                    strFileName = @".\start.WAV";
                    break;
                case "hold":
                    strFileName = @".\stop.WAV";
                    break;
                case "no":
                    strFileName = @"..\..\sound\no.WAV";
                    break;
                case "popup":
                    strFileName = @"..\..\sound\popup.WAV";
                    break;
                case "mayfall":
                    strFileName = @"..\..\sound\mayfall.WAV";
                    break;
                }            //调用PlaySound方法,播放音乐  
                Helpers.PlaySound(strFileName, IntPtr.Zero, Helpers.PlaySoundFlags.SND_ASYNC);
            }        //关闭
            public static void Stop()
            {
                Helpers.PlaySound(null, IntPtr.Zero, Helpers.PlaySoundFlags.SND_ASYNC);
            }
        }
    }
      

  2.   

    TO: ericzhangbo1982111
    楼上弟兄,我把你的源代码改成下面,怎么运行的时候通过不了,没什么反应?帮看看错在哪里?兄弟我先谢谢你了.
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Collections;
    using System.Runtime.InteropServices; namespace playsound1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void Form1_Load(object sender, EventArgs e)
            {        }        internal class Helpers
            {
                [Flags]
                public enum PlaySoundFlags : int
                {
                    SND_SYNC = 0x0000,    /*  play  synchronously  (default)  */  //同步  
                    SND_ASYNC = 0x0001,    /*  play  asynchronously  */  //异步  
                    SND_NODEFAULT = 0x0002,    /*  silence  (!default)  if  sound  not  found  */
                    SND_MEMORY = 0x0004,    /*  pszSound  points  to  a  memory  file  */
                    SND_LOOP = 0x0008,    /*  loop  the  sound  until  next  sndPlaySound  */
                    SND_NOSTOP = 0x0010,    /*  don't  stop  any  currently  playing  sound  */
                    SND_NOWAIT = 0x00002000,  /*  don't  wait  if  the  driver  is  busy  */
                    SND_ALIAS = 0x00010000,  /*  name  is  a  registry  alias  */
                    SND_ALIAS_ID = 0x00110000,  /*  alias  is  a  predefined  ID  */
                    SND_FILENAME = 0x00020000,  /*  name  is  file  name  */
                    SND_RESOURCE = 0x00040004    /*  name  is  resource  name  or  atom  */
                }            [DllImport("winmm")]
                public static extern bool PlaySound(string szSound, IntPtr hMod, PlaySoundFlags flags);
            }
            private void button1_Click(object sender, EventArgs e)
            {
                string strFileName;
              [size=24px]  strFileName = @"d:/a.wav";
                写成这样也不行,
                strFileName = @"d:\a.wav";   //调用PlaySound方法,播放音乐  
                Helpers.PlaySound(strFileName, IntPtr.Zero, Helpers.PlaySoundFlags.SND_ASYNC | Helpers.PlaySoundFlags.SND_FILENAME);
            }
        }
    }
      

  3.   

    Helpers.PlaySound(strFileName, IntPtr.Zero, Helpers.PlaySoundFlags.SND_SYNC | Helpers.PlaySoundFlags.SND_FILENAME); 
      

  4.   

    System.Media.SoundPlayer player = new System.Media.SoundPlayer("wav文件");
    player.Play();
    //就这么简单