[DllImport("winmm.DLL",
            EntryPoint = "PlaySound",
            SetLastError = true,
            CharSet = CharSet.Unicode,
            ThrowOnUnmappableChar = true)]
        private static extern bool PlaySound(string szSound, System.IntPtr hMod,
            PlaySoundFlags flags);

        [System.Flags]
        public enum PlaySoundFlags : int
        {
            SND_SYNC = 0x0000, //同步播放声音,在播放完后PlaySound函数才返回
            SND_ASYNC = 0x0001, //用异步方式播放声音,PlaySound函数在开始播放后立即返回
            SND_NODEFAULT = 0x0002, //不播放缺省声音,若无此标志,则PlaySound在没找到声音时会播放缺省声音
            SND_LOOP = 0x0008, //重复播放声音,必须与SND_ASYNC标志一块使用
            SND_NOSTOP = 0x0010, //PlaySound不打断原来的声音播出并立即返回FALSE
            SND_NOWAIT = 0x00002000, //如果驱动程序正忙则函数就不播放声音并立即返回
            SND_FILENAME = 0x00020000, //pszSound参数指定了WAVE文件名
            SND_RESOURCE = 0x00040004 //pszSound参数是WAVE资源的标识符,这时要用到hmod参数
        }


public void runSound()
        {


            PlaySound(
@"E:\报警声音\ALARM1.WAV", IntPtr.Zero,
                SND_ASYNC 
| SND_FileNAME | SND_LOOP);
        }

private void button1_Click(object sender, EventArgs e)
        {
            PlaySound(
null, IntPtr.Zero, SND_ASYNC);
        }

        
private void button2_Click(object sender, EventArgs e)
        {
            
new Thread(new ThreadStart(runSound)).Start();
        }

相关文章:

  • 2021-11-03
  • 2022-12-23
  • 2021-08-15
  • 2021-03-27
  • 2022-12-23
  • 2022-12-23
  • 2021-09-10
  • 2022-12-23
猜你喜欢
  • 2021-09-13
  • 2021-11-01
  • 2021-06-23
  • 2022-12-23
  • 2021-07-24
  • 2021-09-28
  • 2021-06-05
相关资源
相似解决方案