C#播放器设计报告
更新时间:2023-11-10 03:07:01 阅读量: 教育文库 文档下载
青岛理工大学琴岛学院
设 计 报 告
课题名称:播放器
青岛理工大学琴岛学院教务处
2013年 10 月 28 日
一、播放器的功能
(1)用windows media player设计一个画面简洁的媒体播放器,listBox用作曲目列表框。
(2)通过添加按钮既可以一次性添加一首歌曲,通过鼠标单机listbox列表中列表项就可以播放指定的曲目。
(3)实现了对listbox中的曲目的播放控制,可以播隐藏播放列表、放下一曲、播放上一曲以及随机播放的功能。
(3)实现了播放器的暂停、继续、停止、声音的音量调节、声音的有无、视频画面的时间进度、播放画面的快进和快退功能。 (4)能够播放.avi、.Mp4、.rmvb等多种格式。 二、程序设计流程图(如图一)
程序开始
用户界面、按钮等控件
为界面、按钮等控件设置属性
添加程序代码
调式程
运行结束
图一程序设计流程图
二.核心代码
(1)添加曲目列表方法
OpenFileDialog openFileDialog = new OpenFileDialog();//打开对话框 if (openFileDialog.ShowDialog() == DialogResult.OK)
{ string fileName = openFileDialog.FileName;//文件的路径
listBox1.Items.Add(fileName);//将打开的文件添加到listbox列表中 (2)下面方法实现当了点击listbox列表,可以播放选中的曲目 private void listBox1_SelectedIndexChanged() {//将选中的曲目的路径值付给URL
this.axWindowsMediaPlayer1.URL = listBox1.Text;
this.axWindowsMediaPlayer1.Ctlcontrols.play();//播放该曲目 }
(3)下列是实现暂停、继续、停止、声音的有无、音量的增大或减小、快进、快退、播放下一曲、播放上一曲及视频显示时间功能的主要的核心代码。
this.axWindowsMediaPlayer1.Ctlcontrols.pause();//实现了播放的暂停功
this.axWindowsMediaPlayer1.Ctlcontrols.play();//实现了播放功能 this.axWindowsMediaPlayer1.Ctlcontrols.stop();//实现停止播放 this.axWindowsMediaPlayer1.settings.mute = true;//设置静音 this.axWindowsMediaPlayer1.settings.mute = false;//有声音 this.axWindowsMediaPlayer1.settings.volume += 10;//每次以10个单位增大音量
this.axWindowsMediaPlayer1.settings.volume += 10;//每次以10个单位
减小音量
this.axWindowsMediaPlayer1.Ctlcontrols.currentPosition += 10;//每次以10秒的进度进行快进
this.axWindowsMediaPlayer1.Ctlcontrols.currentPosition += 10;// 每次以10秒的进度进行倒退。
this.axWindowsMediaPlayer1.Ctlcontrols.previous();//实现播放上一曲功能
this.axWindowsMediaPlayer1.Ctlcontrols.next();//播放下一曲功能 this.axWindowsMediaPlayer1.Ctlcontrols.currentPositionString;//视频当前显示时间
this.axWindowsMediaPlayer1.currentMedia.durationString;//视频的总长度的时间
(4)随机播放方法通过Random函数实现
private void btn随机播放_Click(object sender, EventArgs e) {Random r = new Random(); //Random的实例化对象r
int Count = listBox1.Items.Count;//整个listbox曲目数
//URl随机产生的路径值是在0到count之间
axWindowsMediaPlayer1.URL=listBox1.Items[r.Next(0,Count)]. ToString() }
三.遇到的问题及解决方法
(1)在自己电脑上做的视频播放器不能在机房播放,总是出现提示“警告”“IWMPGraphEventHandler.NotifyAcquireCredentials”的至少一个参数不能由运行时封送拆收器进行封送处理,是因为在托管代码中使用非托管代码将造成第二个警告,要消除这一警告,必须想办法用托管代码去实现这段非托管代码的功能。
(2)在实现视频播放功能的过程中无法播放,经过网上搜索资料才明白必须用this.axWindowsMediaPlayer1.URL来进行指定要播放的曲目的路径。
(3)在快进和快退这一功能的实现中一直认为Ctlcontrols.fastForward和Ctlcontrols.fastReverse实现快进和快退,不过没有实现,最终找到了另一个解决法Ctlcontrols.currentPosition来进行控制视频播放进度。 四、总结
这是我做的C#winform程序又一收获。要做好一个Windows Meida Player视频播放器,必须要有一个清晰的思路和一个完整的的设计流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路;在设计过程中遇到问题是很正常的,我每次将一些遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题,从中学到的知识让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握
得不够牢固。我通过查阅大量有关资料,并和同学中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。通过这次Winform程序设计,我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜。
正在阅读:
C#播放器设计报告11-10
汽车发动机电控技期末考试题及答案03-01
2015年高三考前1月遗传、变异、育种等方面综合训练(三中缪运良03-01
2013年全国大学生数模竞赛广东赛区专科组初评成绩 - 图文01-30
Informix 数据库维护指南v1.0 - 图文02-01
RFC3501(imp4协议)中文版02-01
成功励志:35岁前需戒除的九大恶习11-20
路44断块储层特征的研究02-01
某疾控中心先进单位申报事迹材料02-01
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- C#
- 播放器
- 报告
- 设计
- 关于表彰2011年入党积极分子先进个人的
- 混凝土作业
- 基于稀疏表示的遮挡目标快速重构算法研究 - 图文
- 华为路由器配置IS-IS的负载分担实例
- 陕西省小学语文、数学、思品、幼儿教育优秀教学成果获 - 图文
- 2014《环境保护法》Vs《大气污染防治法》
- VFP练习题(答案)
- 新课标人教版小学数学六年级课程标准细化解读 - 图文
- 经典绘本阅读 - 引领低年级孩子走进阅读世界之研究课题实施方案
- 三大框架练习题
- 2015年巴彦淖尔市专业课程考试题(90分)
- 2018年版网络二级建造师继续教育技术管理
- 图融ABS 一文看懂资产证券化中的各类增信措施!
- 中音史复习(近代史)题
- 安健环体系建设的工作实施方案
- 2011年上海市普通高中学业水平考试地理试卷(附答案)
- 公关口才学
- 微机系统与维护2011.1
- 小学生综合素质评价实施方案
- FMEA失效模式效应分析表