C#实现MP3播放器功能的示例代码

 更新时间:2022年12月09日 16:50:31   作者:芝麻粒儿  
这篇文章主要为大家详细介绍了如何利用C#实现MP3播放器功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以了解一下

实践过程

效果

代码

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //***********************
        private Point mouseOffset; //记录鼠标坐标
        private bool isMouseDown = false; //是否按下鼠标
        bool flag = false; //判断是播放还是打开选择窗口

        static bool MM = true; //记录是否静音
        //***********************

        private void Form1_Load(object sender, EventArgs e)
        {
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Minimized;
        }

        private void pictureBox2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        #region 移动无边框窗体

        private void pictureBox3_MouseDown(object sender, MouseEventArgs e)
        {
            int xOffset;
            int yOffset;
            if (e.Button == MouseButtons.Left)
            {
                xOffset = -e.X;
                yOffset = -e.Y;
                mouseOffset = new Point(xOffset, yOffset);
                isMouseDown = true;
            }
        }

        private void pictureBox3_MouseMove(object sender, MouseEventArgs e)
        {
            if (isMouseDown)
            {
                Point mousePos = Control.MousePosition;
                mousePos.Offset(mouseOffset.X, mouseOffset.Y);
                Location = mousePos;
            }
        }

        private void pictureBox3_MouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                isMouseDown = false;
            }
        }

        #endregion


        private void pictureBox4_Click(object sender, EventArgs e) //打开播放
        {
            if (!flag)
            {
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    axWindowsMediaPlayer1.URL = openFileDialog1.FileName;
                    m = 1;
                    lblSongTitle.Text = " 歌曲名称:" + axWindowsMediaPlayer1.currentMedia.getItemInfo("Title");
                }
            }
            else
            {
                axWindowsMediaPlayer1.Ctlcontrols.play();
            }
        }

        private void pictureBox5_Click(object sender, EventArgs e) //暂停
        {
            axWindowsMediaPlayer1.Ctlcontrols.pause();
            flag = true;
        }

        private void pictureBox6_Click(object sender, EventArgs e) //停止
        {
            axWindowsMediaPlayer1.Ctlcontrols.stop();
            flag = false;
        }


        private void pictureBox7_Click(object sender, EventArgs e) //静音
        {
            if (MM)
            {
                pictureBox7.Image = (Image) Properties.Resources.音量按钮变色;
                axWindowsMediaPlayer1.settings.mute = true;
                MM = false;
            }
            else
            {
                pictureBox7.Image = (Image) Properties.Resources.音量按钮;
                axWindowsMediaPlayer1.settings.mute = false;
                MM = true;
            }
        }

        private void pictureBox4_MouseEnter(object sender, EventArgs e)
        {
            pictureBox4.Image = (Image) Properties.Resources.播放按钮变;
        }

        private void pictureBox4_MouseLeave(object sender, EventArgs e)
        {
            pictureBox4.Image = (Image) Properties.Resources.播放按钮;
        }

        private void pictureBox5_MouseEnter(object sender, EventArgs e)
        {
            pictureBox5.Image = (Image) Properties.Resources.暂停按钮变;
        }

        private void pictureBox5_MouseLeave(object sender, EventArgs e)
        {
            pictureBox5.Image = (Image) Properties.Resources.暂停按钮;
        }

        private void pictureBox6_MouseEnter(object sender, EventArgs e)
        {
            pictureBox6.Image = (Image) Properties.Resources.停止按钮变;
        }

        private void pictureBox6_MouseLeave(object sender, EventArgs e)
        {
            pictureBox6.Image = (Image) Properties.Resources.停止按钮;
        }

        int m = 0;

        private void timer1_Tick(object sender, EventArgs e)
        {
            int i = (int) axWindowsMediaPlayer1.playState;
            switch (i)
            {
                case 1:
                    lblStauts.Text = "状态:停止";
                    break;
                case 2:
                    lblStauts.Text = "状态:暂停";
                    break;
                case 3:
                    lblStauts.Text = "状态:播放";
                    break;
                case 6:
                    lblStauts.Text = "状态:正在缓冲";
                    break;
                case 9:
                    lblStauts.Text = "状态:正在连接";
                    break;
                case 10:
                    lblStauts.Text = "状态:准备就绪";
                    break;
            }

            lbljindu.Text = axWindowsMediaPlayer1.Ctlcontrols.currentPositionString;
            if (m == 1)
            {
                hScrollBar1.Maximum = (int) axWindowsMediaPlayer1.currentMedia.duration;
                hScrollBar1.Minimum = 0;
                hScrollBar1.Value = (int) axWindowsMediaPlayer1.Ctlcontrols.currentPosition;
                hScrollBar2.Value = axWindowsMediaPlayer1.settings.volume;
            }
        }

        private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
        {
            axWindowsMediaPlayer1.Ctlcontrols.currentPosition = e.NewValue;
        }

        private void hScrollBar2_Scroll(object sender, ScrollEventArgs e)
        {
            axWindowsMediaPlayer1.settings.volume = e.NewValue;
        }

        private void axWindowsMediaPlayer1_Enter(object sender, EventArgs e)
        {
        }
    }

到此这篇关于C#实现MP3播放器功能的示例代码的文章就介绍到这了,更多相关C# MP3播放器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#实现把txt文本数据快速读取到excel中

    C#实现把txt文本数据快速读取到excel中

    这篇文章主要介绍了C#实现把txt文本数据快速读取到excel中,本文直接给出示例代码,需要的朋友可以参考下
    2015-06-06
  • C#遍历指定目录下所有文件的方法

    C#遍历指定目录下所有文件的方法

    这篇文章主要介绍了C#遍历指定目录下所有文件的方法,实例分析了C#中GetFiles()方法遍历文件的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C#编程实现动态改变配置文件信息的方法

    C#编程实现动态改变配置文件信息的方法

    这篇文章主要介绍了C#编程实现动态改变配置文件信息的方法,涉及C#针对xml格式文件的相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • implicit关键字做自定义类型隐式转换的方法

    implicit关键字做自定义类型隐式转换的方法

    implicit 关键字用于声明隐式的用户定义类型转换运算符。如果转换过程可以确保不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换,这篇文章就给大家详细介绍implicit关键字做自定义类型隐式转换的方法,需要的朋友可以参考下
    2015-08-08
  • C#中Foreach循环遍历的本质与枚举器详解

    C#中Foreach循环遍历的本质与枚举器详解

    这篇文章主要给大家介绍了关于C#中Foreach循环遍历本质与枚举器的相关资料,foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成,本文通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • C#代码实现对AES加密解密

    C#代码实现对AES加密解密

    这篇文章主要介绍了C#代码实现对AES加密解密的相关资料,AES是一个新的可以用于保护电子数据的加密算法,需要的朋友可以参考下
    2015-12-12
  • C# 键盘Enter键取代Tab键实现代码

    C# 键盘Enter键取代Tab键实现代码

    这篇文章主要介绍了C# 键盘Enter键取代Tab键实现代码,有需要的朋友可以参考一下
    2013-11-11
  • WPF实现带筛选功能的DataGrid

    WPF实现带筛选功能的DataGrid

    在默认情况下,WPF提供的DataGrid仅拥有数据展示等简单功能,如果要实现像Excel一样复杂的筛选过滤功能,则相对比较麻烦。本文以一个简单的小例子,简述如何通过WPF实现DataGrid的筛选功能,仅供学习分享使用,如有不足之处,还请指正
    2023-03-03
  • Unity3D基于OnGUI实时显示FPS

    Unity3D基于OnGUI实时显示FPS

    这篇文章主要介绍了Unity3D基于OnGUI实时显示FPS,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • C#对Word文档的创建、插入表格、设置样式等操作实例

    C#对Word文档的创建、插入表格、设置样式等操作实例

    今天小编就为大家分享一篇C#对Word文档的创建、插入表格、设置样式等操作实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05

最新评论