让winform使用系统API播放音乐,这样做的好处是程序不用调用其他播放器控件的DLL,可以直接把音乐集成到程序里,最后只生成一个exe文件。这种方式唯一的局限性在于所播放的音乐只能是wav格式的音频文件。 这里我总结了3种方式:
第一种(.net API): 引用命名空间:using System.Media; 然后声明对象 SoundPlayer sp = new SoundPlayer(); 这里有2个重载,一是wav文件的url,另一个是数据流 播放与停止方法:sp.Play(); , sp.Stop();
第二种(windows API): 引用命名空间:System.Runtime.InteropServices; [Flags] [DllImport("winmm")] //播放音乐,参数为wav文件路径 public static void Play(string strFileName) //调用PlaySound方法,播放音乐 //停止播放 这种方式只能播放本地磁盘上的wav文件,不能播放数据流
第三种(windows API): 引用命名空间:System.Runtime.InteropServices; [DllImport("winmm.dll", EntryPoint = "sndPlaySound")] private static System.Byte[] sound;
试想如果程序能播放数据流的话,那就可以把音频文件集成到exe文件里了。 |
C# winform使用系统API播放音乐(非调用控件)
最新推荐文章于 2017-11-26 19:41:00 发布