using System.Collections;
using System.ComponentModel;
using System.Runtime.InteropServices;
namespace Play
{
internal class Helpers
{
[Flags]
public enum PlaySoundFlags : int
{
放
SND_ASYNC = 0x0001, /* play asynchronously */ //异步播放
}
[DllImport("winmm")]
public static extern bool PlaySound(string szSound, IntPtr hMod, PlaySoundFlags flags);
}
public class Sound
{
//播放
public static void Play(string strFileName)
{
strFileName = @"..\..\music\background.WAV";
}
//调用PlaySound方法,播放音乐
Helpers.PlaySound(strFileName, IntPtr.Zero, Helpers.PlaySoundFlags.SND_ASYNC);
}
//关闭
public static void Stop()
{
Helpers.PlaySound(null, IntPtr.Zero, Helpers.PlaySoundFlags.SND_ASYNC);
}
}
}
5 个解决方案
#1
写错了,是Sound.Play("strFileName");,不是Sound.Play("exa");
#2
new 一个 Form 的时候调用播放的方法?
然后在这个新 Form 的 Close() 的时候调用关闭的方法?
然后在这个新 Form 的 Close() 的时候调用关闭的方法?
#3
new 一个 Form 的时候调用播放的方法?
然后在这个新 Form 的 Close() 的时候调用关闭的方法?
这样就可以了
然后在这个新 Form 的 Close() 的时候调用关闭的方法?
这样就可以了
#4
不是new的时候调用方法,而是在Load的时候调用这个方法,因为有可能提前new出来了。
Close的时候关闭不错。
#5
能更具体些吗?
#1
写错了,是Sound.Play("strFileName");,不是Sound.Play("exa");
#2
new 一个 Form 的时候调用播放的方法?
然后在这个新 Form 的 Close() 的时候调用关闭的方法?
然后在这个新 Form 的 Close() 的时候调用关闭的方法?
#3
new 一个 Form 的时候调用播放的方法?
然后在这个新 Form 的 Close() 的时候调用关闭的方法?
这样就可以了
然后在这个新 Form 的 Close() 的时候调用关闭的方法?
这样就可以了
#4
不是new的时候调用方法,而是在Load的时候调用这个方法,因为有可能提前new出来了。
Close的时候关闭不错。
#5
能更具体些吗?