在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#语言基础 → C# 简易播放器工具源码(可用于年会节目)

C# 简易播放器工具源码(可用于年会节目)

C#语言基础

下载此实例
  • 开发语言:C#
  • 实例大小:0.70M
  • 下载次数:15
  • 浏览次数:349
  • 发布时间:2019-04-14
  • 实例类别:C#语言基础
  • 发 布 人:crazycode
  • 文件格式:.zip
  • 所需积分:2
 相关标签: 播放器 C# 播放 源码

实例介绍

【实例简介】

1. 添加标签,然后在标签下 添加音乐

【实例截图】

from clipboard


from clipboard

【核心代码】

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.IO;	//Path类用到
//using System.Media;    //SoundPlayer命名空间
//using System.Runtime.InteropServices;


namespace MyMusic
{
    public partial class MusicMainFrom : Form
    {

        //List<string> listsongs = new List<string>();   //用来存储音乐文件的全路径
        Dictionary<string, string> songPath = new Dictionary<string, string>();
        //SoundPlayer sp = new SoundPlayer();
        OpenFileDialog ofd = new OpenFileDialog();
        List<ListBox> listBoxs = new List<ListBox>();
        

        public MusicMainFrom()
        {
            InitializeComponent();
            lbErr.Text = "";
        }
        /**
         * 添加一个标签页
         * */
        private void BtnNewTab_Click(object sender, EventArgs e)
        {
            AddControls();
            txName.Text = "";
        }
        /**
         * 添加歌曲到播放列表
         * */
        private void BtnAdd_Click(object sender, EventArgs e)
        {
            FileDirectory();
        }
        
        /**
         * 下一曲
         **/
        private void BtnNext_Click(object sender, EventArgs e)
        {
            int index = listBoxs[tcCentent.SelectedIndex].SelectedIndex; //获得当前选中歌曲的索引
            index  ;
            SongIndex(index);


        }
        /**
         * 上一曲
         * */
        private void BtnPre_Click(object sender, EventArgs e)
        {
            int index = listBoxs[tcCentent.SelectedIndex].SelectedIndex; //获得当前选中歌曲的索引
            index--;

            SongIndex(index);
        }

        /**
         * 播放
         * */
        private void BtnPlay_Click(object sender, EventArgs e)
        {
            int index = listBoxs[tcCentent.SelectedIndex].SelectedIndex; //获得当前选中歌曲的索引
            SongIndex(index);
        }

        private void BtnStop_Click(object sender, EventArgs e)
        {
            string songName = Convert.ToString(listBoxs[tcCentent.SelectedIndex].SelectedItem);
            //sp.SoundLocation = songPath[songName];
            //sp.Stop();
            axWindowsMedia.Ctlcontrols.stop();


        }
        //移除对应的listBoxs的对应歌曲/视频
        private void BtnDelListBox_Click(object sender, EventArgs e)
        {
            int index = listBoxs[tcCentent.SelectedIndex].SelectedIndex;
            if (index != -1){
                lbErr.Text = "";
                listBoxs[tcCentent.SelectedIndex].Items.RemoveAt(listBoxs[tcCentent.SelectedIndex].SelectedIndex);
            }
            else{
                lbErr.Text = "请选择歌曲/视频再删除";
            }
            
        }

        //选择文件并把路径记录在listBoxs上
        private void FileDirectory()
        {
            ofd.Title = "请选择音乐/视频文件";      //打开对话框的标题
            ofd.InitialDirectory = @"F:\music-cut";    //设置打开对话框的初始设置目录
            ofd.Multiselect = true; //设置多选
            ofd.Filter = @"音乐文件|*.mp3|音乐文件|*.wav|视频文件|*.mp4|所有文件|*.*";    //设置文件格式筛选
            ofd.ShowDialog();   //显示打开对话框
            
            string[] pa_th = ofd.FileNames;       //获得在文件夹中选择的所有文件的全路径
            
            if (null != pa_th && pa_th.Length != 0)
            {
                for (int i = 0; i < pa_th.Length; i  )
                {
                    if(songPath.ContainsKey(Path.GetFileName(pa_th[i])))
                    {
                        return;
                    }
                    listBoxs[tcCentent.SelectedIndex].Items.Add(Path.GetFileName(pa_th[i]));  //将音乐文件的文件名加载到listBox中
                    songPath.Add(Path.GetFileName(pa_th[i]), pa_th[i]);    //将音乐文件的全路径存储到泛型集合中
                }
            }
        }
        //歌曲下标
        private void SongIndex(int index)
        {
            if(listBoxs[tcCentent.SelectedIndex].Items.Count == 0)
            {
                lbErr.Text = "请添加歌曲/视频";
                return;
            }   
            if (index == listBoxs[tcCentent.SelectedIndex].Items.Count)
            {
                index = 0;
            }
            lbErr.Text = "";
            listBoxs[tcCentent.SelectedIndex].SelectedIndex = index; //将改变后的索引重新赋值给我当前选中项的索引
            string songName = Convert.ToString(listBoxs[tcCentent.SelectedIndex].SelectedItem);
            //sp.SoundLocation = songPath[songName];
            //sp.Play();
            if (songPath.ContainsKey(songName))
            {
                lbErr.Text = "";
                axWindowsMedia.URL = songPath[songName];
            }
            else
            {
                lbErr.Text = "请选择歌曲/视频";
            }
            
        }

        //添加控件
        private void AddControls()
        {
            TabPage page = new TabPage
            {
                Name = txName.Text,
                Text = txName.Text
            };
            page.TabIndex = page.TabIndex   1;
            
            Button button = new Button();
            button.SetBounds(520, 10, 126, 25);
            button.Text = "添加音乐";
            button.Click  = new EventHandler(BtnAdd_Click);
            page.Controls.Add(button);

            Button button2 = new Button();
            button2.SetBounds(656, 10, 126, 25);
            button2.Text = "删除音乐";
            button2.Click  = new EventHandler(BtnDelListBox_Click);
            page.Controls.Add(button2);

            Button button3 = new Button();
            button3.SetBounds(520, 55, 100, 25);
            button3.Text = "播放";
            button3.Click  = new EventHandler(BtnPlay_Click);
            page.Controls.Add(button3);

            Button button4 = new Button();
            button4.SetBounds(640, 55, 100, 25);
            button4.Text = "停止";
            button4.Click  = new EventHandler(BtnStop_Click);
            page.Controls.Add(button4);

            Button button5 = new Button();
            button5.SetBounds(520, 90, 100, 25);
            button5.Text = "上一曲";
            button5.Click  = new EventHandler(BtnPre_Click);
            page.Controls.Add(button5);

            Button button6 = new Button();
            button6.SetBounds(640, 90, 100, 25);
            button6.Text = "下一曲";
            button6.Click  = new EventHandler(BtnNext_Click);
            page.Controls.Add(button6);

            ListBox listBox = new ListBox();
            listBox.SetBounds(10, 10, 500, 200);
            page.Controls.Add(listBox);
            listBoxs.Add(listBox);

            this.tcCentent.Controls.Add(page);
        }

        /**
         * 删除标签页
         * */
        private void BtnDelTab_Click(object sender, EventArgs e)
        {
            listBoxs.RemoveAt(tcCentent.SelectedIndex);
            tcCentent.Controls.RemoveAt(tcCentent.SelectedIndex);
        }
    }
}

实例下载地址

C# 简易播放器工具源码(可用于年会节目)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警