C# 音乐播放器的设计

来源:互联网 发布:铜陵网络买花花店 编辑:程序博客网 时间:2024/06/05 10:51

微软提供的播放器:

组件:右键(选择项)----COM组件-----Window Media Player

url:播放的地址

菜单与工具栏:contextMenuStrip1:添加右键菜单



// 完成了一个音乐播放器的设计:可以完成:播放、暂停、停止、上一首、下一首、打开文件、右键删除所选中的文件、静音

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace revieve{    public partial class playbutton : Form    {        public playbutton()        {            InitializeComponent();        }        List<string> ls = new List<string>();        private void button1_Click(object sender, EventArgs e)        {            MusicPlayer.Ctlcontrols.play();//播放音乐,一个属性        }        private void waitbutton_Click(object sender, EventArgs e)        {            MusicPlayer.Ctlcontrols.pause();        }        private void stopbutton_Click(object sender, EventArgs e)        {            MusicPlayer.Ctlcontrols.stop();        }        private void playbutton_Load(object sender, EventArgs e)        {            //程序默认打开时自动播放            string str = @"D:\viang\桌面\a.avi";            // MusicPlayer.URL = @"E:\language\C#\wweavi";            MusicPlayer.settings.autoStart = false;//关掉            //   MusicPlayer.URL = @"D:\viang\桌面\a.avi";            label1.Image = Image.FromFile(@"D:\viang\桌面\before.png"); //将这个label用图片填充            //label2.Image = Image.FromFile(@"D:\viang\桌面\字符串.png");        }        bool pauseToPlay = true;        private void butPlayorPause_Click(object sender, EventArgs e)        {            if (butPlayorPause.Text == "播放")            {                if (pauseToPlay)                {                    MusicPlayer.URL = ls[MusListBox.SelectedIndex];                }                //获得选中的歌曲,来实现:当选中某收歌时,单击播放按钮,可以播放                MusicPlayer.Ctlcontrols.play();                butPlayorPause.Text = "暂停";            }            else            {                MusicPlayer.Ctlcontrols.pause();                butPlayorPause.Text = "播放";                pauseToPlay = false;            }        }        private void butStop_Click(object sender, EventArgs e)        {            MusicPlayer.Ctlcontrols.stop();            butPlayorPause.Text = "播放";        }        /// <summary>        /// 打开对话框        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void butOpen_Click(object sender, EventArgs e)        {            OpenFileDialog of = new OpenFileDialog();            of.InitialDirectory = @"D:\vitang\桌面";  //默认初始打开文件的路径            of.Filter = "音乐文件|*.avi|Mp3文件|*.mp3|所有文件|*.*"; // 下面显示文件打开的类型            of.Title = "请选择你要打开的文件";// 打开对话框中上面显示的内容            of.Multiselect = true; // 运行多选            of.ShowDialog();//将设计好的对话框展示出来            string[] musics = of.FileNames;//获得在文件框中选择的全部文件的全路径            // 将文件名存放到listbox中,将全路径存放到泛型            for (int i = 0; i < musics.Length; i++)            {                if (ls.Contains(musics[i]))                {                    continue;                }                ls.Add(musics[i]);                MusListBox.Items.Add(Path.GetFileName(musics[i]));            }        }        /// <summary>        /// 双击播放对应的事件        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void MusListBox_DoubleClick(object sender, EventArgs e)        {            if (MusListBox.Items.Count <= 0)            {                MessageBox.Show("请首先选择音乐文件");                return;            }            try            {                MusicPlayer.URL = ls[MusListBox.SelectedIndex];                MusicPlayer.Ctlcontrols.play();                butPlayorPause.Text = "暂停";                //labInformation.Text = MusicPlayer.currentMedia .duration  .ToString();            }            catch            {            }        }        /// <summary>        /// 实现切换到上一首        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void button2_Click(object sender, EventArgs e)        {            try            {                int newindex = MusListBox.SelectedIndex;                MusListBox.SelectedIndices.Clear();                newindex--;                if (newindex < 0)                {                    newindex = MusListBox.Items.Count-1;  //count是歌曲的数目,不是下标                }                MusicPlayer.URL = ls[newindex];                MusListBox.SelectedIndex = newindex;                MusicPlayer.Ctlcontrols.play();            }            catch            {            }        }        /// <summary>        /// 下一首        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void button3_Click(object sender, EventArgs e)        {                        int index = MusListBox.SelectedIndex;//当前选中的项            MusListBox.SelectedIndices.Clear();            index++;            if (index == MusListBox.Items.Count)            {                index = 0;            }            MusListBox.SelectedIndex = index;            MusicPlayer.URL = ls[index];            MusicPlayer.Ctlcontrols.play();        }        /// <summary>        /// 删除某些选中的项:先删集合再删列表        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)        {            // 先获得要删除的列表的数量            int index = MusListBox.SelectedItems.Count  ;            for (int i = 0; i < index;i++ )            {                ls.RemoveAt(MusListBox.SelectedIndex ); // 根据列表中的索引项进行删除,索引后删列表                MusListBox.Items.RemoveAt(MusListBox.SelectedIndex);            }        }        /// <summary>        /// 点击放音或者静音        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void label1_Click(object sender, EventArgs e)        {            if(label1.Tag .ToString ()=="1")            {                MusicPlayer.settings.mute = true; //静音                 label1.Tag = "2";                label1.Image = Image.FromFile(@"D:\vivien.tang\桌面\字符串.png");            }            else            {                MusicPlayer.settings.mute = false; //静音                 label1.Tag = "1";                label1.Image = Image.FromFile(@"D:\vivien.tang\桌面\before.png");            }        }        private void labInformation_Click(object sender, EventArgs e)        {        }    }}




原创粉丝点击