c# winForm中播放声音的三种方法
声音文件xxx.wav放置在bin目录下debug下
一,使用SoundPlay来实现
1,添加引用using System.Media;
2,实例化 SoundPlayer play = new SoundPlayer();
3,加载 .wav格式音频文件的路径或URL play.SoundLocation = Application.StartupPath + "//xxx.wav";
其中二三两步可以并在一起写,SoundPlayer play = new SoundPlayer("xxx.wav");因为调用Play方法时,会自动加载该文件。
4,使用Load方法来同步加载声音,play.Load();
5,播放音频。使用Play()来进行播放,这方法是异步方法,会在另一个线程中播放。如果有时候需要等播放完成后才能允许进行其他操作,那么可以使用PlaySync()来进行播放。如果想循环播放,则采用PlayLooping()来实现。使用这三个方法都是如果尚未加载.wav文件,则会先加载该文件。
6,停止播放。使用Stop():若当前正在播放,则停止播放。
7,释放资源。利用Dispose即可释放资源。play.Dispose();
二,通过API调用 using System.Runtime.InteropServices
[DllImport("winmm.dll")]
public static extern bool PlaySound(string pszSound, int hmod, int fdwSound);
public const int SND_FILENAME = 0x00020000; public const int SND_ASYNC = 0x0001;
//调用下面的方法
PlaySound("xxx.wav", 0, SND_ASYNC | SND_FILENAME);
三,使用 Audio 对象
using Microsoft.VisualBasic.Devices;//Microsoft.VisualBasic.dll
需要添加引用
Audio a = new Audio();
a.Play("xxx.wav");
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构