用VS2005 C#开发Windwos Mobile 5.0的嵌入WAV音频资源文件遇到的奇怪问题
用VS2005 C#开发Windwos Mobile 5.0的嵌入WAV音频资源文件遇到的奇怪问题
在用VS2005写一个Windwos Mobile 5.0的程序,想播放嵌入exe文件的wav音频文件,
在项目/属性/资料里把音频文件加入,文件名为Clap
然后在public formMain()之前加入调用PlaySound的声明:
//以下定义播放声音的一些函数参数
private const UInt32 SND_SYNC = 0x00000000;
private const UInt32 SND_ASYNC = 0x00000001;
private const UInt32 SND_NODEFAULT = 0x00000002;
private const UInt32 SND_MEMORY = 0x00000004;
private const UInt32 SND_LOOP = 0x00000008;
private const UInt32 SND_NOSTOP = 0x00000010;
private const UInt32 SND_NOWAIT = 0x00002000;
private const UInt32 SND_ALIAS = 0x00010000;
private const UInt32 SND_FILENAME = 0x00020000;
private const UInt32 SND_RESOURCE = 0x00040004;
[DllImport("CoreDll.DLL", EntryPoint = "PlaySound", SetLastError = true)]
private extern static int PlaySound(byte[] szSound, IntPtr hMod, UInt32 flags);
之后在需要的时候调用PlaySound函数:
PlaySound(Properties.Resources.Clap, IntPtr.Zero, SND_ASYNC | SND_MEMORY);
程序可以运行,不报错,但是就是不出声啊!
查了很久,发现 Properties.Resources.Clap很是怪异,就是说,Properties.Resources.Clap是个
字节数组,这点没有问题,甚至大小都是嵌入WAV文件大小,但是数据全部是0!我晕!
VS在干什么啊?把我要嵌入的文件数据全部清0了?微软的脑袋被驴踢了?