c程序设计课程程序设计报告媒体播放器的设计与实现.doc

上传人:仙人指路1688 文档编号:2384511 上传时间:2023-02-17 格式:DOC 页数:33 大小:596.50KB
返回 下载 相关 举报
c程序设计课程程序设计报告媒体播放器的设计与实现.doc_第1页
第1页 / 共33页
c程序设计课程程序设计报告媒体播放器的设计与实现.doc_第2页
第2页 / 共33页
c程序设计课程程序设计报告媒体播放器的设计与实现.doc_第3页
第3页 / 共33页
c程序设计课程程序设计报告媒体播放器的设计与实现.doc_第4页
第4页 / 共33页
c程序设计课程程序设计报告媒体播放器的设计与实现.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《c程序设计课程程序设计报告媒体播放器的设计与实现.doc》由会员分享,可在线阅读,更多相关《c程序设计课程程序设计报告媒体播放器的设计与实现.doc(33页珍藏版)》请在三一办公上搜索。

1、C#程序设计设计说明书媒体播放器的设计与实现学生姓名学号 班级计算机(1)班成绩指导教师 计算机科学与技术C#课程设计评阅书题目媒体播放器的设计与实现姓名马林彪学号 1006111057成绩指导教师评语指导教师签名: 年 月 日 课程设计任务书20112012学年第一学期专业: 计算机科学与技术 学号: 1006111057 姓名: 马林彪 课程设计名称: C#课程设计 设计题目: 媒体播放器的设计与实现 完成期限:自 2011 年 xx月 xx 日至 2011 年 xx 月 xx 日共 x 周设计依据、要求及主要内容(可另加附页):根据程序设计所学知识,设计与实现一个媒体播放器,该XXX设计

2、的内容和功能要求如下:(1) 用windows media player设计一个画面简洁的媒体播放器,listBox用作曲目列表框;(2) 通过按钮既可以一次性添加一首歌曲,也可以通过文件夹一次性添加多首歌曲等;(3) 在下次播放时仍保留上次播放的的曲目;(4) 可一次性删除一首或多首歌曲;(5) listBox有快捷菜单,该菜单包含能:播放、暂停、删除、单曲循环、顺序播放、 随机播放、全部循环和退出;要求:系统功能设计基本完善,并写出详细的设计说明书。(6) 能够播放mp3和DAT格式的音乐或MV;指导教师(签字): 批准日期: 年 月 日摘 要 关键词:媒体播放器; 删除; 循环;目录1课

3、题描述12程序设计流程图12.1 系统说明12.2主界面的设计13 功能的设计13.1 XX功能的设计13.2 XX功能的设计13.3 XX功能的设计14测试14.1系统测试14.2 调试结果14.3 错误原因分析1总结1参考文献1附录:1源代码:11课题描述 构建一个简单的播放器提供播放、暂停、删除等功能,支持多种格式,窗体上有7个按钮,一个mediar player播放器控件和一个listBox控件 用来显示曲目。2程序设计流程图为界面、按钮等控件设置属性用户界面、按钮等控件程序开始 调式程序添加程序代码运行结束2.1 系统说明在Visual Studio 2008中的C# 语言设计环境下

4、设计出简单的计算器的Window 窗体。2.2主界面的设计3 功能的设计功能简介:(1)添加到播放列表:在列表区域单击右键中的“添加到播放列表”,弹出打开本地文件的窗口,可一次添加一首或多首歌曲到播放列表中。(2)播放:选择歌曲,在右键菜单中播放歌曲,即可播放选中的歌曲;双击选中的歌曲也可以实现播放功能;直接点击播放器中的“播放”也可播放选中的歌曲。(3)删除单曲:选择要删除的歌曲,单击“删除单曲”,即可从列表中删除此歌曲。(4)单曲循环:在曲目列表框中,右击鼠标弹出快捷菜单,选中歌曲,右键,选中“单曲循环”,即可重复播放选中的歌曲。(5)退出:单击“退出”即可退出本系统。(6)上一曲:单击“

5、上一曲”即可播放选中歌曲的上一曲。(7)下一曲:单击“下一曲”即可播放选中歌曲的下一首。 (8) 全曲循环:在曲目列表框中,右击鼠标弹出快捷菜单,选中歌曲,单击“全部循环”,即可全部循环。(9) 顺序播放:单击“顺序播放”,即可既可按列表顺序依次自动播放。(10)删除歌曲:在曲目列表框中,右击鼠标弹出快捷菜单,单击“删除歌曲”既可删除所选中的一首或多首歌曲;(11)随即播放:在曲目列表框中,右击鼠标弹出快捷菜单,单击“随机播放”既可自动实现随机播放列表中的歌曲;(12)暂停/播放/退出:在曲目列表框中,右击鼠标弹出快捷菜单,单击“暂停”、“播放”、“退出”既可实现; 1. 操作界面显示: 播放

6、器的主界面如下, 单击“添加歌曲”,实现播放功能双击歌曲,即可实现播放,如下,主要方法:3.1 添加歌曲功能的设计private void btnAddFile_Click(object sender, EventArgs e) int i; odlgMedia.FileName = ; / 设置默认文件名 if (odlgMedia.ShowDialog() = DialogResult.OK) string path = odlgMedia.FileName; FileInfo f = new FileInfo(path); AddFile(f.FullName); string strF

7、ile = Convert.ToString(numOfMusic); for (i = 1; i = 0) OpenBtn(); 3.2 添加目录功能的设计private void btnAddFiles_Click(object sender, EventArgs e) fbdlgMedia.ShowNewFolderButton = true; fbdlgMedia.Description = 请选择媒体文件目录:; fbdlgMedia.ShowNewFolderButton = false; if (fbdlgMedia.ShowDialog() = DialogResult.OK)

8、 AddFiles(fbdlgMedia.SelectedPath, lstFileList); if (lstFileList.Items.Count 0) OpenBtn(); 3.3删除单曲 private void btnDelete_Click(object sender, EventArgs e) int i = lstFileList.SelectedIndex; if (lstFileList.SelectedIndex = 0) if (selectOne = lstFileList.SelectedIndex) & (mediaPlayer.URL != ) Message

9、Box.Show(不能删除正在播放的文件, 错误); else DelFile(i + 1); lstFileList.Items.RemoveAt(i); if (i 0) if (lstFileList.SelectedIndex -1) if (j = 0) selectOne = 0; else j -= 1; selectOne = j; Play(selectOne); lstFileList.SelectedIndex = j; 36下一曲private void btnForward_Click(object sender, EventArgs e) int j = lstFi

10、leList.SelectedIndex; if (j = 0) object selected_objs = new objectlstFileList.SelectedItems.Count; lstFileList.SelectedItems.CopyTo(selected_objs, 0); foreach (object oval in selected_objs) string msg = lstFileList.ItemslstFileList.SelectedIndex.ToString(); string strs = msg.Split(/); string s = str

11、s1 + strs0; if (mediaPlayer.URL = s) this.Text = null; mediaPlayer.URL = null; lstFileList.Items.Remove(oval); this.Text = 播放停止!; else lstFileList.Items.Remove(oval); 3.9时钟:tmrMediaprivate void tmrMedia_Tick(object sender, EventArgs e) if (lstFileList .SelectedIndex = lstFileList.Items.Count) lstFil

12、eList.SelectedIndex = selectOne-1; mediaPlayer.Ctlcontrols.stop(); this.Text = 媒体播放器:停止!; / tmrMedia.Stop(); else lstFileList.SelectedIndex = selectOne; Play(selectOne); label1.Text = 顺序播放; if (playOne = 3) Random m = new Random(); selectOne = m.Next(lstFileList.Items.Count); lstFileList.SelectedInd

13、ex = -1; lstFileList.SelectedIndex = selectOne; Play(selectOne); label1.Text = 随机播放; if (playOne = 4) lstFileList.SelectedIndex = -1; selectOne += 1; if (selectOne =lstFileList .Items .Count ) selectOne = 0; lstFileList.SelectedIndex = selectOne; Play(selectOne); label1.Text = 全部循环; 4测试4.1系统测试4.2 调试

14、结果4.3 错误原因分析错误原因:lstFileList.SelectedIndex = selectOne;超出了lstFileList .Items .Count的范围总结经过一周的课程设计,使我对Visual C#编程有了更深一层的了解。经过编程与不断调试,尽管依然存在很多的问题,但努力终于有了成果。设计的是简单媒体播放器程序。整个设计的过程也是不断学习的一个过程,在运用旧知识的同时也学到了不少新知识,给自己大脑充电的同时也填补了一些相关知识方面的空白。整个设计的过程中,不仅仅只是经历了是失败与成功所带来的启迪,还有同学之间互相帮助的友谊。通过这次课程设计,掌握住到了应该掌握住的知识,也

15、让体会到了生活中应该体会到的东西。总之,这次实习是有收获的。 参考文献1 马靖善等.C语言程序设计.清华大学出版社,20052 谭浩强.C语言程序设计(第二版).北京:高等教育出版社,20023 黄超.C语言程序设计.北京.人民邮电出版社.20034 谭浩强等.C语言程序设计.清华大学出版社,20075 方敏,张彤.C语言程序设计.西安电子科技大学出版社.2006附录:源代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawi

16、ng;using System.Text;using System.Windows.Forms;using System.IO;using Microsoft.Win32;using System.Runtime.InteropServices;using System.Threading;namespace 音频播放_1 public partial class Form1 : Form public Form1() InitializeComponent(); / 接下来在代码的通用段定义以下公共数组和变量: /* string endpath = null; int i = 0; int

17、 lstFilllist = 1; string fileList = new string10000; / 定义播放列表数的最大值 int numOfMusic; / 选中的媒体文件的索引号 int selectOne; / 选中的音乐文件 int playOne = 2; / 顺序播放 / 添加以下六个方法,分别用于添加单个媒体文件、添加媒体文件目录、删除媒体文件、播放媒体文件、打开和关闭窗体上的按钮。 /* / 添加单个媒体文件的方法 /* public void AddFile(string path) if (numOfMusic 10000) numOfMusic += 1; fi

18、leListnumOfMusic = path; else MessageBox.Show(不能添加文件!, 播放列表已满); /* / 添加媒体文件目录的方法 /* public void AddFiles(string path, ListBox lstFiles) DirectoryInfo dir = new DirectoryInfo(path); foreach (FileInfo f in dir.GetFiles(*.mp3) AddFile(f.FullName); int i; string strFile = Convert.ToString(numOfMusic); f

19、or (i = 1; i = 5 - strFile.Length; i+) strFile += ; strFile = f.FullName; int n = strFile.LastIndexOf() + 1; strFile = strFile.Substring(n) + / + strFile.Substring(0, n); lstFileList.Items.Add(strFile); foreach (FileInfo f in dir.GetFiles(*.DAT) AddFile(f.FullName); int i; string strFile = Convert.T

20、oString(numOfMusic); for (i = 1; i = 5 - strFile.Length; i+) strFile += ; strFile = f.FullName; int n = strFile.LastIndexOf() + 1; strFile = strFile.Substring(n) + / + strFile.Substring(0, n); lstFileList.Items.Add(strFile); foreach (FileInfo f in dir.GetFiles(*.flv) AddFile(f.FullName); int i; stri

21、ng strFile = Convert.ToString(numOfMusic); for (i = 1; i = 5 - strFile.Length; i+) strFile += ; strFile = f.FullName; int n = strFile.LastIndexOf() + 1; strFile = strFile.Substring(n) + / + strFile.Substring(0, n); lstFileList.Items.Add(strFile); foreach (FileInfo f in dir.GetFiles(*.lrc) AddFile(f.

22、FullName); int i; string strFile = Convert.ToString(numOfMusic); for (i = 1; i = 5 - strFile.Length; i+) strFile += ; strFile = f.FullName; int n = strFile.LastIndexOf() + 1; strFile = strFile.Substring(n) + / + strFile.Substring(0, n); lstFileList.Items.Add(strFile); foreach (DirectoryInfo d in dir.GetDirectories() AddFiles(d.FullName, lstFileList); /* / 删除单个媒体文件的方法 /*

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号