前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#-窗体之音乐播放器

C#-窗体之音乐播放器

作者头像
用户9857551
发布2022-06-28 08:48:58
6060
发布2022-06-28 08:48:58
举报
文章被收录于专栏:Angular学习规划Angular学习规划

音乐播放器

功能: 1.选择文件夹里的音乐文件 2.根据选中的索引切换播放 3.根据索引让音乐文件显示他被选中了 4个按钮一个listbox

結果展示:

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

用来存储音乐文件的全路径 局部变量拿不到

代码语言:javascript
复制
List<string> listSongs = new List<string>();

打开按钮是选择文件路径

代码语言:javascript
复制
private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog odf = new OpenFileDialog();
            odf.Title = "选择音乐文件夹";
            odf.InitialDirectory = @"C:\Users\H0772690\Music";
            odf.Multiselect = true;//多选
            odf.Filter = "音乐文件|*.wav|所有文件|*.*";
            odf.ShowDialog();
            //获得我们在文件夹中选择的所有文件的全路径
            string[] path = odf.FileNames;
            for (int i = 0; i < path.Length; i++)
            {
                listBox1.Items.Add(path[i]);
                //将音乐文件的全路径存储到泛型集合中
                listSongs.Add(path[i]);
            }
        }

listbox

代码语言:javascript
复制
 /// <summary>
        /// 实现双击播放
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
         SoundPlayer sp = new SoundPlayer();
        private void listBox1_DoubleClick(object sender, EventArgs e)
        {
            
            sp.SoundLocation = listSongs[listBox1.SelectedIndex];
            sp.Play();
        }

关闭按钮

代码语言:javascript
复制
private void button4_Click(object sender, EventArgs e)
        {
            this.Close();
        }

上一曲

代码语言:javascript
复制
private void button2_Click(object sender, EventArgs e)
        {
            int index = listBox1.SelectedIndex;
            if (index == 0)
            {
                index = listBox1.Items.Count;
            }
            index--;
            //将改变后的索引从新赋值给我选中项的索引
            listBox1.SelectedIndex = index;
            sp.SoundLocation = listSongs[index];
            sp.Play();
        }

下一曲

代码语言:javascript
复制
private void button3_Click(object sender, EventArgs e)
        {
            int index = listBox1.SelectedIndex;
            index++;
            if (index == listBox1.Items.Count)
            {
                index = 0;
            }
            //将改变后的索引从新赋值给我选中项的索引
            listBox1.SelectedIndex = index;
            sp.SoundLocation = listSongs[index];
            sp.Play();
        }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 音乐播放器
    • 結果展示:
    相关产品与服务
    对象存储
    对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档