基于WindowsMediaPlayer的播放器设计
  1系统总体设计
1.1系统主界面设计
本次课程论文设计采用的是Microsoft Visual Studio 2005为编译环境,设计语言是C#
本程序的主界面比较简洁,如图1.1所示:
1.1 主界面
本程序帮助简介项,如图1.2所示:
1.2 程序简介
1.2功能模块设计
功能模块的设计紧跟系统功能需求,为此程序有如下几个功能模块:
按文件添加模块:
可以快速方便的添加多媒体文件,但是只限于单文件添加。
按文件夹添加模块:
可以快速方便的添加多媒体文件,可以整个文件夹导入,可以添加多个多媒体文件。
删除选定歌曲模块:
可以快速方便的删除当选定的歌曲。
上、下一首歌曲切换模块:
可以快速切换到上、下一首歌曲。
播放方式模块:
此模块是为了方便用户不同的欣赏方式而设定的,其中分为顺序播放、随机播放、重复全部歌曲、重复当前歌曲。
清除所有歌曲模块:
可以快速清除当前列表中保存的信息。
2 系统的详细设计与实现
按文件添加模块
可以快速方便的添加多媒体文件,但是只限于单文件添加。如图5.34所示:
5.34 打开单一文件
private void menuFileAdd_Click(object sender, EventArgs e)
        {
            if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                string path = this.openFileDialog1.FileName;
                FileInfo f = new FileInfo(path);
                MyPlayer.AddFile(f.FullName);
                MyLoad();
            }
        }
按文件夹添加模块
可以快速方便的添加多媒体文件,可以整个文件夹导入,可以添加多个多媒体文件。如图5.35所示:
5.35 导入文件夹
        private void menuFileFolder_Click(object sender, EventArgs e)
        {
            if (this.folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
                string path = this.folderBrowserDialog1.SelectedPath;
                showfiles(path, listBox1);
                MyLoad();
            }
        }
删除选定歌曲模块
可以快速方便的删除当选定的歌曲。如图5.36所示:
5.36删除选定歌曲
        private void menuFileDel_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex >= 0)
            {
                MyPlayer.DelFile(listBox1.SelectedIndex + 1);
windows me                listBox1.Items.Clear();
                MyLoad();
            }
        }
清除所有歌曲模块
可以快速清除当前列表中保存的信息。如图5.37所示:
5.37 清除保存在列表的歌曲
        private void menuFileClear_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            MyPlayer.NumOfMusic = 0;
        }
上、下一首歌曲切换模块
可以快速切换到上、下一首歌曲。如图5.38所示:
5.38上、下一首歌曲切换
        //播放上一个节目
        private void menuControlPrev_Click(object sender, EventArgs e)
        {
            if (MyPlayer.CurrentPlay > 0)
            {
                int play = MyPlayer.CurrentPlay - 1;
                if (play == 0) play = MyPlayer.NumOfMusic;
                MyPlayer.play(play);
                listBox1.SelectedIndex = play - 1;
            }
        }
       
        //播放下一个节目
        private void menuControlNext_Click(object sender, EventArgs e)
        {
            if (MyPlayer.CurrentPlay > 0)
            {
                int play = MyPlayer.CurrentPlay + 1;
                if (play > MyPlayer.NumOfMusic) play = 1;
                MyPlayer.play(play);
                listBox1.SelectedIndex = play - 1;
            }
        }
播放方式模块
此模块是为了方便用户不同的欣赏方式而设定的,其中分为顺序播放、随机
播放、重复全部歌曲、重复当前歌曲。如图5.39所示:
5.39 播放模式选择
        private void menuControlSequence_Click(object sender, EventArgs e)
        {
            menuControlSequence.Checked = true;
            menuControlRepeat.Checked = false;
            menuControlRepeatAll.Checked = false;
            menuControlRepeatOne.Checked = false;
            menuControlRandom.Checked = false;
        }
        private void menuControlRepeat_Click(object sender, EventArgs e)
        {
            menuControlSequence.Checked = false;
            menuControlRepeat.Checked = true;
            menuControlRepeatAll.Checked = false;
            menuControlRepeatOne.Checked = false;
            menuControlRandom.Checked = false;
        }
        private void menuControlRepeatOne_Click(object sender, EventArgs e)
        {
            menuControlSequence.Checked = false;
            menuControlRepeat.Checked = false;
            menuControlRepeatAll.Checked = false;
            menuControlRepeatOne.Checked = true;
            menuControlRandom.Checked = false;
        }
        private void menuControlRepeatAll_Click(object sender, EventArgs e)
        {
            menuControlSequence.Checked = false;
            menuControlRepeat.Checked = false;
            menuControlRepeatAll.Checked = true;
            menuControlRepeatOne.Checked = false;
            menuControlRandom.Checked = false;
        }
        private void menuControlRandom_Click(object sender, EventArgs e)
        {
            menuControlSequence.Checked = false;
            menuControlRepeat.Checked = false;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。