C#实现简单的音乐播放器

这篇博客详细介绍了如何利用C#编程语言创建一个基本的音乐播放器。内容涵盖从设计用户界面到实现音频文件的播放功能,包括C#中的多媒体处理库的使用和事件处理机制。
摘要由CSDN通过智能技术生成

在这里插入图片描述

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.IO;
using System.Linq;
using System.Media;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 音乐播放器
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //SoundPlayer sound = new SoundPlayer();

        /// <summary>
        /// 全局变量,进度条的画布
        /// </summary>
        Graphics graphics;

        Bitmap Start = new Bitmap(20, 20);
        Bitmap Pause = new Bitmap(20, 20);
        Bitmap UpSong = new Bitmap(20, 20);
        Bitmap NextSong = new Bitmap(20, 20);
        private void Form1_Load(object sender, EventArgs e)
        {
            ///实例化进度条的画布
            graphics = panel1.CreateGraphics();
            ///实例化音量的画布
            yinLiang = panel2.CreateGraphics();
            axWindowsMediaPlayer1.settings.volume = 50;
            label4.Text = axWindowsMediaPlayer1.settings.volume.ToString();
            //括号中的内容是筛选器上的选项文字,|后面的是要选择的文件夹类型
            openFileDialog1.Filter = "(请选择音乐文件)|*.wav;*.mp3";
            openFileDialog2.Filter = "(请选择图片文件)|*.jpg;*.png;*.jpeg";

            #region 注释
            //找图片
            /通过文件夹对象来寻找图片
            //DirectoryInfo directory = new DirectoryInfo(paths);
            /返回当前文件目录下的文件列表
            //FileInfo[] imgInfo = directory.GetFiles();
            /遍历出所有的文件列表,并判断哪些是图片
            //foreach (var item in imgInfo)
            //{
            //    ///获取后缀名
            //    string kou = item.Extension;
            //    ///判断后缀名
            //    if (kou==".jpg"||kou==".png")
            //    {
            //        bgList.Add(item.Name);
            //    }
            //}
            #endregion

            pictureBox2.Image = Start;
            
        }

        /// <summary>
        /// 每次添加所有音乐路径
        /// </summary>
        string[] RoodList;
        /// <summary>
        /// 创建一个musicList集合用来装歌曲名称
        /// </summary>
        List<string> musicList = new List<string>();
        /// <summary>
        /// 装所有的音乐路径
        /// </summary>
        List<string> musicPath = new List<string>();

        private void button1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog()==DialogResult.OK)
            {
                //获取所有选中的文件的文件名(包含路径)
                RoodList = openFileDialog1.FileNames;
                for (int i = 0; i < RoodList.Length; i++)
                {
                    //获取选中文件的文件名
                    FileInfo info = new FileInfo(RoodList[i]);
                    bool b = false;
                    if (musicList.Count > 0)
                    {
                        b = musicList.Contains(info.Name);
                    }
                    if (b == false)
                    {
                        ///将歌曲添加至musicList集合中
                        musicList.Add(info.Name);
                        listBox1.Items.Add(info.Name);
                        musicPath.Add(info.FullName);
                    }
                }
                //给音乐控件添加播放列表
                //foreach (string s in RoodList)
                //{
                //    axWindowsMediaPlayer1.currentPlaylist.appendItem(axWindowsMediaPlayer1.newMedia(s));
                //}
            }
        }

        /// <summary>
        /// musicList中歌曲的索引
        /// </summary>
        int currentIndex = 0;
        private void listBox1_DoubleClick(object sender, EventArgs e)
        {
            //listbox中选中的项
            object o = listBox1.SelectedItem;
            //音乐加载的路径
            //sound.SoundLocation = path + "\\" + o;
            //sound.Play();
            currentIndex = musicList.IndexOf(o.ToString());
            PlayMusic(musicPath[currentIndex]);
            pictureBox2.Image = Pause;
        }

        string musicString = "未找到相
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值