版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈 阳 航 空 航 天 大 学 课程设计学 号 _2013040301124_班 级 _34030103 _ 姓 名 _谢仲阳 _指导教师 _尹航 _2014年 9 月 19 日沈阳航空航天大学课程设计任务书系:航空宇航工程学院 业:飞行器制造工程 班级:飞制1301学号:201304032001题目:个人通信录管理信息系统一、课程设计时间201415第1学期第3周,即9月15日9月19日,共计1周,20学时。二、课程设计内容用C#语言编写一个mp3播放器,实现如下的功能:(1)打开文件;(2)创建播放列表(自行决定用文件或数据库存储信息);(3)文件的播放、暂停、停止等。三、课程设计要求程序
2、质量要求:² 贯彻面向对象程序设计思想。² 设计用户图形界面,界面友好,功能明确,操作方便。² 可以加以其它功能或修饰。² 代码简洁清晰,并给出必要的注释,以增强程序的可读性。课程设计说明书:² 课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、成绩六、教师评语沈阳航空航天大学设计用纸目录一、需求分析1二、设计分析2三、主要界面截图4四、技术要点6五、个人总结6六、参考文献6七、源程序713一、需求分析 根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分
3、析。应用c#制作一个mp3播放器首先学会应用控件Windows Media Player 。Windows Media Player控件主要用于管理多媒体文件的记录与回放,从概念上说,该控件就是一个完整的媒体播放器,它支持Wave、AVI、MIDI和mp3等格式。了解Windows Media Player各个属性所表达的意思 URL:String; 指定媒体位置,本机或网络地址 AllowDrop:允许拖动。 ContextMenuStrip:允许用户自定义弹出菜单。 fullScreen:用于设置是否全屏显示。 Visible:是否可见。 PlayState:用于获取媒体播放器的工作状态。
4、 其次要应用读取文件的OpenFileDialog控件 OpenFileDialog控件是一个预先配置的对话框。 OpenFileDialog组件的属性主要包括: Title属性:获取或设置文件对话框标题。默认值为空字符串。 Multiselect属性:获取或设置一个值,该值指示对话框是否允许选择多个文件。如果对话框允许同时选定多个文件,则为true;反之,则为false。 FileName属性:获取或设置一个包含在文件对话框中选定文件名的字符串。也就是说在对话框中选择的文件名,默认值为空字符串(“”)。文件名既包含文件路径也包含扩展名。如果选定文件,将返回空字符串。 使用 FolderBro
5、wserDialog 组件选择文件夹 检查 FolderBrowserDialog 组的 DialogResult 属性,以确定关闭对话框的方式并获取 FolderBrowserDialog 组件的 SelectedPath 属性的值。二、设计分析新建一个Windows应用程序,在窗体上依次放置ListBox、Windows Media Player、Panel和8个Button控件,如图3-5所示(设置好属性后)。再为窗体添加一个OpenFileDialog控件、一个FolderBrowserDialog控件和一
6、个Timer控件,它们的作用分别是:(1)OpenFileDialog控件:用于打开单个文件。(2)FolderBrowserDialog控件:用于添加媒体文件目录。(3)Timer控件:用于控制连续播放媒体文件。添加完上述三个控件后,可以看到窗体设计器下方的组件板上出现了这三个组件,如图3-5所示(设置好属性后)。图3-5 媒体播放器用户界面3.2.2 属性设置窗体和各控件的属性设置如表所示。窗体和各控件的属性控件类型控件名称属性设置结果FormForm1Text媒体播放器StartPositionCenterScreenMaximizeBoxFalseAutoSizeModeGrowAnd
7、ShrinkWindows Media PlayerWindows Media Player1NamemediaPlayerListBoxListBox1NamelstFileListOpenFileDialogOpenFileDialog1NameodlgMediaFolderBrowserDialogFolderBrowserDialog1NamefbdlgMediaTimerTimer1NametmrMediaPanelPanel1BorderStyleFixed3DButtonButton1NamebtnAddFileText添加歌曲Button2NamebtnAddFilesText
8、添加目录Button3NamebtnDeleteText删除单曲Button4NamebtnPlayText播放Button5NamebtnReplayText单曲循环Button6NamebtnStopText停止3、 主要界面截图点击播放后界面点击单曲循环后界面点击添加文件后界面点击正在播放的歌曲显示“不能删除正在播放的文件”界面四、技术要点1、Windows Media Player控件的使用2、OpenFileDialog控件的使用3、FolderBrowserDialog 控件的使用4、点击添加文件选择歌曲进行播放 单曲循环 停止等操作5、点击添加目录直接添加文件里的全部歌曲 注意无
9、法删除正在播放的单曲5、 个人总结 在课设过程中,起初没有了解Windows Media Player一些属性的使用,后来通过查询相关资料了解了如何使用该控件,并通过OpenFileDialog控件FolderBrowserDialog 控件打开文件和目录,以达到创建播放列表的目的。在编程过程中,按照资料编写代码,但还会出现很多错误,感觉很沮丧,但是通过团队成员的合作与讨论逐渐地解决了一些问题,感触到不论做什么耐心都非常重要,出了错误,上网查、找资料,自己又想了很久,又找同学讨论还是不能解决时就会有不想做的念头,但是想到这是团队的一个项目,还是得耐着性子把它继续给做完。同时,我感觉更重要的一点
10、是我们做项目时,要有团队合作的精神,只有这样我们才能完成一个很好的项目,在这个项目中我们就是有人主要负责控件视图的设计,还有人负责项目中播放列表的程序编写,有人负责单曲循环 等其他辅助功能的设计。这样不仅可以尽快地完成我们的项目,也可以完成得更好。六、参考文献(参考的书籍或互联网资源)1 决战1200例2 互联网资源七、源程序using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using
11、 System.Text;using System.Windows.Forms;using System.IO;namespace mp3 public partial class Form1 : Form public Form1() InitializeComponent(); string fileList = new string10000; / 定义播放列表数的最大值 int numOfMusic; / 选中的媒体文件的索引号 int selectOne; / 选中的音乐文件 bool playOne = false; / 控制是否循环播放 public void AddFile(s
12、tring path) if (numOfMusic < 10000) numOfMusic += 1; fileListnumOfMusic = path; else MessageBox.Show("不能添加文件!","播放列表已满"); / 添加媒体文件目录的方法/* public void AddFiles(string path,ListBox lstFiles) DirectoryInfo dir = new DirectoryInfo(path); foreach (FileInfo f in dir.GetFiles ("
13、*.mp3") AddFile(f.FullName); int i; string strFile = Convert.ToString(numOfMusic); for (i = 1; i <= 5 - strFile.Length; i+) strFile += "" strFile = f.Name; lstFileList.Items.Add(strFile); foreach (DirectoryInfo d in dir.GetDirectories() AddFiles(d.FullName, lstFileList); / 删除单个媒体文件
14、的方法/*public void DelFile(int selectNum) int i; for (i = selectNum; i <= numOfMusic - 1; i+) fileListi = fileListi + 1; numOfMusic -= 1; / 播放媒体文件的方法public void Play(int selectNum) mediaPlayer.URL = fileListselectNum; / 播放选中的媒体文件 this.Text = "正在播放 - " + lstFileList.SelectedItem.ToString()
15、;public void OpenBtn() btnPlay.Enabled = true; public void CloseBtn() btnPlay.Enabled = false; btnStop.Enabled = false; btnReplay.Enabled = false; btnDelete.Enabled = false; private void Form1_Load(object sender, EventArgs e) lstFileList.Items.CopyTo(fileList, 0); / 将列表框(lstFileList)中的列表项全部复制到数组(fil
16、eList)中 numOfMusic = 0; / 选中第一个媒体文件 CloseBtn(); private void button1_Click(object sender, System.EventArgs e) int i; odlgMedia.FileName = "" / 设置默认文件名 odlgMedia.InitialDirectory = "C:" / 设置默认路径 odlgMedia.Filter = "mp3文件|*.mp3|所有文件|*.*" / 设置文件类型 if (odlgMedia.ShowDialog(
17、) = DialogResult.OK) string path = odlgMedia.FileName; FileInfo f = new FileInfo(path); AddFile(f.FullName); string strFile = Convert.ToString(numOfMusic); for (i = 1; i <= 5 - strFile.Length; i+) strFile += "" strFile = f.Name; lstFileList.Items.Add(strFile); if (lstFileList.Items.Coun
18、t > 0) OpenBtn(); private void button2_Click(object sender, System.EventArgs e) fbdlgMedia.SelectedPath = "C:" fbdlgMedia.ShowNewFolderButton = true; fbdlgMedia.Description = "请选择媒体文件目录:" fbdlgMedia.ShowNewFolderButton = false; if (fbdlgMedia.ShowDialog() = DialogResult.OK) Ad
19、dFiles(fbdlgMedia.SelectedPath, lstFileList); if (lstFileList.Items.Count > 0) OpenBtn(); private void button3_Click(object sender, System.EventArgs e) int i = lstFileList.SelectedIndex; if (lstFileList.SelectedIndex >= 0) if (selectOne = lstFileList.SelectedIndex + 1) && (mediaPlayer.
20、URL != "") MessageBox.Show("不能删除正在播放的文件", "错误"); else DelFile(i + 1); lstFileList.Items.RemoveAt(i); if (i < lstFileList.Items.Count) lstFileList.SelectedIndex = i; else if (lstFileList.Items.Count = 0) CloseBtn(); else lstFileList.SelectedIndex = 0; private void but
21、ton4_Click(object sender, System.EventArgs e) if (lstFileList.SelectedIndex < 0) selectOne = 1; lstFileList.SelectedIndex = 0; else selectOne = lstFileList.SelectedIndex + 1; Play(selectOne); tmrMedia.Enabled = true; btnStop.Enabled = true; btnReplay.Enabled = true; private void button5_Click(object sender, System.EventArgs e) if (playOne = true) playOne = false; btnReplay.FlatStyle = FlatStyle.Standard; / 设置按钮外观为三维 btnReplay.Text = "单曲循环" else playOne = true; btnReplay.FlatStyle = FlatStyle.Popup; / 设置按钮外观为平面显示 btnReplay.Text = "取消循环&q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年长春市凯旋医院医护人员招聘笔试题库及答案详解
- 2025年渑池县中医医院医护人员招聘笔试试题及答案详解
- 智慧车灯生产项目施工组织实施方案
- 2025年江苏省邳州市高二生物下册期末考试测试卷及参考答案【模拟题】
- 液压举升系统生产项目环境影响报告书
- 选煤厂工程土建施工组织方案
- 2026年吉林省蛟河市高二生物下册期末考试模拟卷附答案(达标题)
- 小学语文阅读教学实施方案
- 施工塔吊安拆方案
- 2025年江苏省常熟市高二生物下册期末考试模拟卷含答案(达标题)
- 2026年人力资源管理师面试情景应对题库
- 2026年全国新高考2卷数学试卷(含答案及解析)
- 2026人教版一年级数学下册期末模拟测试卷(三套含答案)可直接打印
- 煤矿重大事故隐患判定标准2026版解读
- 【期末复习】2025-2026学年八年级下册地理人教版期末综合测试卷
- 静守初心静待花开:高三下学期班主任带班育人方略与实践思考
- 2025年幽门螺杆菌根除治疗指南
- 筑牢安全防线共度平安端午!课件-2024-2025学高中端午节安全教育主题班会
- 2024-2025学年上海市杨浦区五年级(下)期末数学试卷 含解析
- 23G409先张法预应力混凝土管桩
- 2023学年天津南开中学高二物理第二学期期末质量检测试题(含解析)
评论
0/150
提交评论