C#窗体应用实现简单音乐播放器

您所在的位置:网站首页 音乐的可视化怎么做 C#窗体应用实现简单音乐播放器

C#窗体应用实现简单音乐播放器

#C#窗体应用实现简单音乐播放器| 来源: 网络整理| 查看: 265

c#窗体应用实现简单音乐播放器 1.使用工具与平台

语言:C# 工具(IDE):VS2017 应用类型:窗体应用

2.功能介绍 1.添加音乐

从本地文件中夹中过滤出mp3格式的文件,添加至播放列表中

2.播放、暂停、上下首切换

能够完成歌曲的播放、暂停、停止和上一首下一首的切换。在到达歌曲列表末尾的时候会自动切换到列表第一首开始播放。

3.音乐播放进度的显示(进度条)

设置进度条观察音乐的播放进度,可以随意拖动进度条让其在任意时刻播放。

3.播放器展示

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

4.功能代码展示 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; using WMPLib; namespace MusicPlayer { public partial class Form1 : Form { //声明一个list,用来存储文件的路径 List urlList = new List();//泛型 double max, min; private Color yellow; public Form1() { InitializeComponent(); } //添加歌曲 private void btnInput_Click(object sender, EventArgs e) { //实例化一个打开文件的对话框 OpenFileDialog of = new OpenFileDialog(); //让选择器可以多选文件 of.Multiselect = true; of.Title = "请选择音乐文件"; //指定文件的类型 of.Filter = "(*.mp3)|*.mp3"; //of.ShowDialog(); //确认用户选择的是确定按钮 if (of.ShowDialog() == DialogResult.OK) { //把用户选择的数据存储到数组中 string[] nameList = of.FileNames; //读取数组中的数据 foreach(string url in nameList) { //Path.GetFileNameWithoutExtension(url)获取不具有扩展名的文件 listBoxMusics.Items.Add(Path.GetFileNameWithoutExtension(url)); urlList.Add(url); } } } //播放 private void btnPlay_Click(object sender, EventArgs e) { //声明变量 int selectIndexList = listBoxMusics.SelectedIndex; if (selectIndexList axWindowsMediaPlayer1.Ctlcontrols.play(); } timer1.Enabled = true; } //暂停 private void btnPause_Click(object sender, EventArgs e) { axWindowsMediaPlayer1.Ctlcontrols.pause(); } //停止 private void btnStop_Click(object sender, EventArgs e) { axWindowsMediaPlayer1.Ctlcontrols.stop(); //停止后禁用进度条 timer1.Enabled = false; } //上一首 private void btnLast_Click(object sender, EventArgs e) { //LIstBox中的索引和URLList中的索引相对应 //获取当前选中歌曲的索引 int selectIndexList = listBoxMusics.SelectedIndex -1; selectIndexList = selectIndexList //LIstBox中的索引和URLList中的索引相对应 //获取当前选中歌曲的索引 int selectIndexList = listBoxMusics.SelectedIndex; //把urlList中存储的url地址赋给播放器控件 axWindowsMediaPlayer1.URL = urlList[selectIndexList]; lbMusicName.Text = listBoxMusics.SelectedItem.ToString(); timer1.Enabled = true; } // private void timer1_Tick(object sender, EventArgs e) { //获取文件的时间长度 max = axWindowsMediaPlayer1.currentMedia.duration; //获取当前歌曲的播放位置 min = axWindowsMediaPlayer1.Ctlcontrols.currentPosition; //类型强制转换 trackBar1.Maximum = (int)(max); trackBar1.Value = (int)(min); //一首播放完成后继续下一首 if(axWindowsMediaPlayer1.playState == WMPPlayState.wmppsStopped ) { //当前歌曲结束播放后获取下一首歌曲的索引值 int selectIndex = listBoxMusics.SelectedIndex + 1; selectIndex = selectIndex == listBoxMusics.Items.Count ? 0: selectIndex;//三目运算符 axWindowsMediaPlayer1.URL = urlList[selectIndex]; listBoxMusics.SelectedIndex = selectIndex; lbMusicName.Text = listBoxMusics.SelectedItem.ToString(); lbMusicName.BackColor = yellow; trackBar1.Value = 0; trackBar1.Enabled = true; } } //鼠标拖动进度条时间 //鼠标按下 private void trackBar1_MouseDown(object sender, MouseEventArgs e) { //暂停播放 timer1.Enabled = false; axWindowsMediaPlayer1.Ctlcontrols.pause(); } //鼠标抬起 private void trackBar1_MouseUp(object sender, MouseEventArgs e) { //获取被拖动以后的位置 double doValue = trackBar1.Value; axWindowsMediaPlayer1.Ctlcontrols.currentPosition = doValue;//重置播放位置 axWindowsMediaPlayer1.Ctlcontrols.play(); timer1.Enabled = true; } } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3