广告
返回顶部
首页 > 资讯 > 精选 >C#基于winform实现音乐播放器的方法
  • 755
分享到

C#基于winform实现音乐播放器的方法

2023-06-29 02:06:11 755人浏览 独家记忆
摘要

今天小编给大家分享一下C#基于winform实现音乐播放器的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先,右键工具

今天小编给大家分享一下C#基于winform实现音乐播放器的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

首先,右键工具箱的组件,找到选择项,找到windows Media Player组件并添加。

设计界面:

C#基于winform实现音乐播放器的方法

首先实现基本的功能

给“”老板播放器“的播放暂停添加代码

MusicPlayer.Ctlcontrols.play();  //播放
MusicPlayer.Ctlcontrols.pause();//暂停
MusicPlayer.Ctlcontrols.stop();//停止

首先给Windows Media Player控件改名为MusicPlayer,并在程序加载时关闭自动播放和赋予一个默认的地址。

 private void FORM1_Load(object sender, EventArgs e)        {            //在程序加载的时候,取消播放器的自动播放功能            MusicPlayer.settings.autoStart = false;            MusicPlayer.URL = @"E:\CloudMusic\陈亮 - 无题.mp3";            label1.Image = Image.FromFile(@"C:\Users\14505\Desktop\继续.jpg");        }

接下来是播放键的按钮

List<string> list = new List<string>();//用于储存音乐的全路径 private void btnPlayorPause_Click(object sender, EventArgs e)        {            if (btnPlayorPause.Text == "播放")            {                if (b)                {                    //获得选中的歌曲  让音乐从头播放                    MusicPlayer.URL = list[listBox1.SelectedIndex];                }                MusicPlayer.Ctlcontrols.play();                btnPlayorPause.Text = "暂停";            }            else if (btnPlayorPause.Text == "暂停")            {                MusicPlayer.Ctlcontrols.pause();                btnPlayorPause.Text = "播放";                b = false;            }        }

用list集合来存储文件的路径,并且listbox控件的items也对应这list,这样我们可以通过点击listbox选中内容(获取它的索引)来找到对应索引的list集合中的路径并播放。

给listbox添加双击事件:

 /// <summary>        /// 双击播放对应的音乐        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void listBox1_DoubleClick(object sender, EventArgs e)        {            if (listBox1.Items.Count == 0)            {                MessageBox.Show("请首先原则音乐");                return;            }            try            {                MusicPlayer.URL = list[listBox1.SelectedIndex];                MusicPlayer.Ctlcontrols.play();                btnPlayorPause.Text = "暂停";                lblinformation.Text = MusicPlayer.Ctlcontrols.currentPosition.ToString();            }            catch { }        }

接下来是打开按钮,我们需要打开对话框选取想要的音乐文件

 /// <summary>        /// 打开按钮        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void button4_Click(object sender, EventArgs e)        {            OpenFileDialog ofd = new OpenFileDialog();            ofd.Title = "请选择您的文件";            ofd.Filter = "音乐文件|*.mp3|全部文件|*.*";            ofd.InitialDirectory = @"E:\CloudMusic";            ofd.Multiselect = true;            ofd.ShowDialog();            //获得在文本框中选择的全路径            string[] path = ofd.FileNames;            for (int i = 0; i < path.Length; i++)            {                list.Add(path[i]);                //将音乐文件的文件名存储到listbox中                listBox1.Items.Add(Path.GetFileName(path[i]));            }        }

下面是上一首下一首的功能,我们只需要获取listbox控件中当前选中项的索引,在使用lst即可

 /// <summary>        /// 下一曲        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void button5_Click(object sender, EventArgs e)        {            //获得当前选中的索引            int a = listBox1.SelectedIndex + 1;            //清空所有选中的索引   这里是因为我们开启了多选属性,才需要清理            listBox1.SelectedIndices.Clear();            if (a == listBox1.Items.Count)            {                a = 0;            }            //将改变后的索引重新赋值给当前选中项的索引            listBox1.SelectedIndex = a;            MusicPlayer.URL = list[a];            MusicPlayer.Ctlcontrols.play();        }        /// <summary>        /// 上一曲        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void button6_Click(object sender, EventArgs e)        {            int a = listBox1.SelectedIndex - 1;            listBox1.SelectedIndices.Clear();            if (a < 0)            {                a = listBox1.Items.Count - 1;            }            //将改变后的索引重新赋值给当前选中项的索引            listBox1.SelectedIndex = a;            MusicPlayer.URL = list[a];            MusicPlayer.Ctlcontrols.play();        }

给listbox控件添加一个右键菜单,我们需要多选删除功能。
这里必须先清除集合中的内容,再清除listbox控件中的内容,否则会引起程序的异常。

 /// <summary>        /// 点击删除选中项        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)        {            //要删除列表中的选中项            //先删集合            //首先获得要删除的歌曲的数量            int count = listBox1.SelectedItems.Count;            for (int i = 0; i < count; i++)            {                //先删集合                list.RemoveAt(listBox1.SelectedIndex);                //在删列表                listBox1.Items.RemoveAt(listBox1.SelectedIndex);            }        }

接下来是静音和外放按钮,这里我使用label控件添加了图片(百度自行找播放和暂停的图片即可)

 /// <summary>        /// 点击放音或静音        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void label1_Click(object sender, EventArgs e)        {            if (label1.Tag.ToString() == "1")            {                //目的:让你静音                MusicPlayer.settings.mute = true;//静音                //显示静音的图片                label1.Image = Image.FromFile(@"C:\Users\14505\Desktop\暂停.jpg");                label1.Tag = "2";            }            else            {                MusicPlayer.settings.mute = false;                //显示放音图片                label1.Image = Image.FromFile(@"C:\Users\14505\Desktop\继续.jpg");                label1.Tag = 1;            }        }

接下来要加一个播放完自动下一首的功能
我这里使用了歌曲全部时常和当前播放时长去比较,当前播放时常+1等于全部时长时,我们就切换下一首
或者使用bool判断控件的播放状态也是一样的道理

private void timer1_Tick(object sender, EventArgs e)        {               //如果播放器的状态时正在播放中            if (MusicPlayer.playState == WMPLib.WMPPlayState.wmppsPlaying)            {                lblinformation.Text = MusicPlayer.currentMedia.duration.ToString() + "\r\n" + MusicPlayer.currentMedia.durationString + "\r\n" + MusicPlayer.Ctlcontrols.currentPositionString;                double b1 = double.Parse(MusicPlayer.currentMedia.duration.ToString());                double b2 = double.Parse(MusicPlayer.Ctlcontrols.currentPosition.ToString())+1;                //如果歌曲当前的播放时间等于歌曲的总时间,自动播放下一曲    //比较时间的值                if (b1<=b2)                {                    //获得当前选中的索引                    int a = listBox1.SelectedIndex + 1;                    //清空所有选中的索引                    listBox1.SelectedIndices.Clear();                    if (a == listBox1.Items.Count)                    {                        a = 0;                    }                    //将改变后的索引重新赋值给当前选中项的索引                    listBox1.SelectedIndex = a;                    MusicPlayer.URL = list[a];                    MusicPlayer.Ctlcontrols.play();                }            }            //比较时间的值                  }

运行截图:

C#基于winform实现音乐播放器的方法

以上就是“C#基于winform实现音乐播放器的方法”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: C#基于winform实现音乐播放器的方法

本文链接: https://www.lsjlt.com/news/322210.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#基于winform实现音乐播放器的方法
    今天小编给大家分享一下C#基于winform实现音乐播放器的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先,右键工具...
    99+
    2023-06-29
  • C#基于winform实现音乐播放器
    本文实例为大家分享了C#基于winform实现音乐播放器的具体代码,供大家参考,具体内容如下 首先,右键工具箱的组件,找到选择项,找到Windows Media Player组件并添...
    99+
    2022-11-13
  • c#基于winform制作音乐播放器
    目录AxWindowsMediaPlayer的方法1 首先新建一个页面 如图所示: 图片左侧是列表 使用listview 右侧是背景图片。图片框框的地方是后面可以实现的,+和-按钮分...
    99+
    2022-11-11
  • 基于Python怎么实现音乐播放器
    本篇内容主要讲解“基于Python怎么实现音乐播放器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于Python怎么实现音乐播放器”吧!一、环境设置第一步引入必须的各类包import ...
    99+
    2023-06-30
  • Android基于Service的音乐播放器
    本文开发一个基于Service的音乐播放器,音乐由后台运行的Service负责播放,当后台的播放状态发生变化时,程序将会通过发送广播通知前台Activity更新界面;当点击Ac...
    99+
    2022-06-06
    service 音乐 Android
  • 基于JavaScript实现一个月饼音乐播放器
    目录前言页面布局页面背景左侧列表中间播放器右侧歌词部分总结前言 事情的经过是这样的,媳妇中秋发了一盒月饼,里面还有一个小蓝牙音响,她说如果这个音响是个月饼造型之类的是不是更能体现出中...
    99+
    2022-11-13
  • 基于Python实现本地音乐播放器的制作
    制作这个播放器的目的是为了将下载下来的mp3文件进行随机或是顺序的播放。选择需要播放的音乐的路径,选择播放方式,经过测试可以完美的播放本地音乐。 在开始之前介绍一个免费下载mp3音乐...
    99+
    2022-11-11
  • 基于Python实现音乐播放器的实现示例代码
    目录一、环境设置二、播放功能三、停止功能四、暂停与恢复五、关闭六、完整代码七、改进一、环境设置 第一步引入必须的各类包 import os import tkinter import...
    99+
    2022-11-10
  • 基于Java Springboot + Vue + MyBatis实现音乐播放系统
    目录摘要主要设计功能设计主要技术功能截图用户端首页登录注册歌单信息歌手信息我的音乐评论点赞管理员端首页用户管理歌手管理歌单管理部分代码数据库设计用户表评论表收藏表歌手歌曲表歌手表项目...
    99+
    2022-11-12
  • C语言如何实现音乐播放器
    本文小编为大家详细介绍“C语言如何实现音乐播放器”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言如何实现音乐播放器”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。实例代码如下:#include &l...
    99+
    2023-06-08
  • Android基于service实现音乐的后台播放功能示例
    本文实例讲述了Android基于service实现音乐的后台播放功能。分享给大家供大家参考,具体如下: Service是一个生命周期长且没有用户界面的程序,当程序在各个acti...
    99+
    2022-06-06
    service 示例 音乐 Android
  • 怎么使用C语言实现音乐播放器
    本文小编为大家详细介绍“怎么使用C语言实现音乐播放器”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用C语言实现音乐播放器”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。介绍该程序是一个小的DEMO,实现了以...
    99+
    2023-07-05
  • C语言实现音乐播放器的示例代码
    目录介绍实现代码介绍 该程序是一个小的DEMO,实现了以下几个功能,可以借鉴学习。 功能1:鼠标选择互动功能。通过鼠标的移动和按下,按钮的颜色也会发生改变。 功能2:音乐的播放与暂停...
    99+
    2023-02-26
    C语言实现音乐播放器 C语言音乐播放器 C语言音乐播放
  • Android实现简单的音乐播放器
    本文实例为大家分享了Android实现简单音乐播放器的具体代码,供大家参考,具体内容如下 1.制作一个简易的音乐播放器 使用软件:Android studio + jdk1.8 + ...
    99+
    2022-11-13
  • Android实现简易的音乐播放器
    本文实例为大家分享了Android实现简易的音乐播放器,供大家参考,具体内容如下 功能介绍 本次实验实现的是使用Andriod Studio开发一个简易的音乐播放器,所包含的功能有音...
    99+
    2022-11-12
  • Android实现本地Service方法控制音乐播放
    问题现象描述:在Activity中控制播放时,按返回键退出应用后,音乐可在后台继续播放。重新进入app,音乐无法停止,重新点击开始播放音乐,出现重复的音乐同时播放的现象(多个同时播放...
    99+
    2022-11-12
  • Android编程实现使用SoundPool播放音乐的方法
    本文实例讲述了Android编程实现使用SoundPool播放音乐的方法。分享给大家供大家参考,具体如下: 如果应用程序要播放密集、短促的音效,这时还用MediaPlayer就...
    99+
    2022-06-06
    方法 音乐 Android
  • java 实现音乐播放器的简单实例
    java 实现音乐播放器的简单实例实现效果图:代码如下package cn.hncu.games;import java.applet.Applet;import java.applet.AudioClip;import java.awt....
    99+
    2023-05-31
    java 音乐 播放器
  • Python编程实现简易的音乐播放器基本操作
    目录安装我们要做什么(逻辑)启动播放器加载歌曲设置音量开始播放歌曲暂停歌曲继续播放歌曲设置音量(播放时再次使用)停止歌曲CodeMusicplayerinpython 大家好,今天...
    99+
    2022-11-12
  • 使用Python的音乐播放器GUI的实现
    音乐播放器可让您快速轻松地管理和收听所有音乐文件。在本文中,我将带您了解如何使用 Python 创建音乐播放器 GUI。 如何使用 Python 创建音乐播放器 GUI? 第一步是...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作