winfrom中要实现播放声音的效果,无非那么几种方式,调dx,SoundPlayer,Media控件,然而实现一些简单的播放声音功能,直接调系统的api显得更加方便快捷、节省资源。
实际中的需求是播放两种声音:
1.音效,播放时间短,不要求对播放控制,播放完就可以,但是要求不阻塞UI线程;
2.背景音乐,播放时间长,要求循环播放,能暂停,能继续,能停止;
mciSendString 声明如下:
using System.Runtime.InteropServices;
[DllImport("winmm.dll")]
public static extern int mciSendString(string m_strCmd, string m_strReceive, int m_v1, int m_v2);
经测试,将mciSendString的使用总结为两种方式&