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播放器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Unity实现俄罗斯方块游戏

    Unity实现俄罗斯方块游戏

    这篇文章主要为大家详细介绍了Unity实现俄罗斯方块游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • Unity实现人物旋转和移动效果

    Unity实现人物旋转和移动效果

    这篇文章主要为大家详细介绍了Unity实现人物旋转和移动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • C#使用LINQ查询文件列表并找出最大文件

    C#使用LINQ查询文件列表并找出最大文件

    在现代 C# 开发中,LINQ (Language Integrated Query) 提供了一种强大而优雅的方式来处理集合数据,本文将详细介绍如何使用 LINQ 查询文件系统中的文件,并找出最大的文件数量,需要的朋友可以参考下
    2024-10-10
  • 深入解析c#中枚举类型的定义与使用

    深入解析c#中枚举类型的定义与使用

    以下是对c#中枚举类型的定义与使用进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08
  • C#中的位操作小结

    C#中的位操作小结

    在C#中位操作同C的位操作没有什么区别,位操作的速度相对较快,而且如果熟练的话,处理起来也相对方便,特别是在一些权限等相关的设置中
    2014-01-01
  • C#实现货币金额数字转大写汉字

    C#实现货币金额数字转大写汉字

    这篇文章主要为大家详细介绍了如何使用C#实现货币金额数字转大写汉字功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • C# 索引器的使用教程

    C# 索引器的使用教程

    索引器允许类或者结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于他们的访问采用参数。本文讲解了c#的具体使用方法,感兴趣的朋友可以了解下
    2021-05-05
  • C#内置泛型委托之Func委托

    C#内置泛型委托之Func委托

    这篇文章介绍了C#内置泛型委托之Func委托的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • c#调用qq邮箱smtp发送邮件修改版代码分享

    c#调用qq邮箱smtp发送邮件修改版代码分享

    c#调用qq邮箱发送邮件的方法,网上找到的有错误,这里修改了一下提供给大家使用
    2013-12-12
  • C#基于正则表达式删除字符串中数字或非数字的方法

    C#基于正则表达式删除字符串中数字或非数字的方法

    这篇文章主要介绍了C#基于正则表达式删除字符串中数字或非数字的方法,涉及C#针对数字的简单正则匹配相关操作技巧,需要的朋友可以参考下
    2017-06-06

最新评论