【C#】WPF音乐控件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ght886/article/details/84662442

一、使用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";
            }
        }

猜你喜欢

转载自blog.csdn.net/ght886/article/details/84662442