一、使用SoundPlayer
SoundPlayer 只能支持WAV格式的文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Media;//必须引用
using System.Windows.Media;//必须引用
using System.IO;
using System.Resources;//必须引用
//关键代码
SoundPlayer sp = new SoundPlayer("音乐文件路径");//soundPlayer只能播放wav格式的音频
sp.PlayLooping();//循环播放
sp.Play();//播放单次
sp.Stop();//停止
sp = new SoundPlayer(Properties.Resources.音乐文件名);//直接使用资源文件内的音乐文件
二、使用system.Windows.MediaPlayer
MediaPlayer支持的文件类型很多,视频音频都能播放
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Media;//必须引用
using System.Windows.Media;//必须引用
using System.IO;
using System.Resources;//必须引用
namespace MediaPlayer
{
//关键性代码
public class MusicPlayer
{
//实例化播放器,必须在类体内的最上面实例化,类体内全局使用,否则会被垃圾回收机制很快回收,导致播放声音很快就停止了。
MediaPlayer player = new MediaPlayer();
player.Open(new Uri(@"../../Resources/音乐文件名.wav", UriKind.RelativeOrAbsolute));//mediaPlayer播放音乐
//UriKind.RelativeOrAbsolute
Relative是相对路径
Absolute是绝对路径
URI是播放的路径:"../../Resources/音乐文件名.wav" //路径专用格式
player.Play();//播放音乐
player.Stop();//停止播放音乐
三、添加文件到资源文件夹,这样实现系统自带文件。
四、选择本地文件功能
private void btnSelectMusic_Click(object sender, RoutedEventArgs e)
{
//初始化一个OpenFileDialog类
OpenFileDialog openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
openFileDialog1.Multiselect = true;
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)判断用户是否正确的选择了文件
{
GlobalData.musicLocal = openFileDialog1.FileNames;//传给全局变量
//声明允许的后缀名
string[] str = new string[] { ".gif", ".jpge", ".jpg" };
string file_path = openFileDialog1.FileName;//记录选择的文件全路径
//如果我们要为弹出的选择框中过滤文件类型,可以设置OpenFileDialog的Filter属性。比如我们只允许用户选择.xls文件,可以作如下设置:
fileDialog.Filter = "(*.xls)|*.xls";
}
}