winform音乐播放
有的时候,我们在做窗体应用的时候,我们需要音乐播放。在此,介绍两种音乐播放的方式!
一、SoundPlayer方法
- 若只是想要播放.wav格式的音乐,且只需要播放这一首音乐,则使用
SoundPlayer
的方法即可!
代码:
private: System::Void MyForm_Load(System::Object^ sender, System::EventArgs^ e) {
System::Media::SoundPlayer^ musicPlayer = gcnew System::Media::SoundPlayer();
musicPlayer->SoundLocation = "sound.wav";
musicPlayer->Play();
}
在窗体默认事件中,添加了音乐播放的事件!所以窗体在打开的时候就会拥有音乐播放!
也可以这么写:
private: System::Void MyForm_Load(System::Object^ sender, System::EventArgs^ e) {
System::Media::SoundPlayer^ musicPlayer = gcnew System::Media::SoundPlayer("sound.wav");
musicPlayer->Play();
}
常用方法 | 含义 |
---|---|
Load() | 同步加载声音 |
Play() | 播放音乐 |
Stop() | 停止播放 |
Dispose() | 释放资源 |
二、使用Windows Media Player控件进行播放
1、添加方法
- 添加该控件只需两步即可:点击VS工具栏中的工具按钮->选择工具箱项->com组件->勾选
Windows Media Player
,点击确定后该控件会自动加入工具箱供我们使用。 - 此工具既可以播放视频,也是可以播放音频的!但是有的时候,我们只是想给窗体添加一些音效,并不想让他显示出来!此时我们便可以通过它的
visible
属性设置即可实现!
2、常用属性及方法
常用属性/方法 | 解释 |
---|---|
music.URL = “sound.mp3”; | 播放只需要设置它的URL即可,可以是本机路径,也可以是网络路径(路径必须是绝对路径) |
music.Ctlcontrols.currentPosition | 获取播放的当前位置(值) |
music.Ctlcontrols.currentPositionString.ToString(); | 字符串类型的当前位置 |
music.Ctlcontrols.Play | 播放 |
music.Ctlcontrols.Stop | 停止播放 |
music.Ctlcontrols.Pause | 暂停播放 |
music.settings.volume | 音量 |
axWindowsMediaPlayer1.settings.rate | 播放速率(值),不能为0,若值为正,则表示快进,为负,则后退(一般用于视频播放时) |
3、注意事项
- 该控件的URL必须是绝对路径,可以尝试通过获取当前执行文件所在路径后,再获取音乐路径!这样便可以解决可移植性的问题!