- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
-播放器-課程设计报告-
2013-2014学年秋季学期
《Windows程序设计》
课程设计报告
学 院: 计算机与信息学院
序 号: 18
姓 名:
学 号:
指导教师:
完成时间 2013 年 12月 30日
一.课程设计题目 3
二.课程设计内容及功能 3
2.1.内容 3
2.2功能 3
三.课程设计要求 4
四.关键技术及相关原理 4
五.设计思路及关键技术解决方法 4
5.1 设计思路 4
5.2关键技术解决办法 5
六.功能模块及关键源代码实现 5
6.1 实现播放、暂停,停止,上一首,下一首 5
6.2 添加本地资源文件 9
6.3键盘控制快进、快退、音量加减 10
6.4播放网络资源 13
七.运行结果及演示说明 14
7.1运行后整体界面 14
7.2添加本地文件 14
八.总结及心得体会 15
九.参考文献 15
一.课程设计题目
音频、视频播放器
二.课程设计内容及功能
2.1.内容
播放器,实现播放本地网络的视音频资源,实现了播放器所需的基本功能,有一定的容错性
2.2功能
播放视频音频文件
实现播放、暂停、停止、上一集、下一集
播放列表
添加本地视、音频文件
键盘控制快进、快退、音量加、减
全屏播放、退出全屏
播放网络音视频资源
三.课程设计要求
本播放器应能实现播放器的基本功能,可以通过按钮实现播放、暂停、停止、上一集、下一集,可以添加本地视、音频文件,可以显示播放列表,在输入栏中输入网络播放地址可以实现播放网络资源文件
四.关键技术及相关原理
本播放器界面文件中使用到的组件有QPushButton、QSlider、QTableWidget、QLineEdit。播放器的播放多媒体功能通过Qmediaplayer类来实现;通过QSlider类来显示播放进度、音量及控制播放进度、音量大小;播放列表通过QMediaPlaylist类来实现,可以添加本地影视资源;使用QTableWidget 组件来显示播放列表,可以点击任意资源文件实现播放;通过QLineEdit类来实现网络地址输入框,player-setMedia(QUrl::fromLocalFile(ui-lineEdit-text())) 语句实现播放;使用setIcon(QIcon());添加背景图标。
五.设计思路及关键技术解决方法
5.1 设计思路
界面设计:本播放器模仿迅雷播放器的界面构造,只要分为视频显示,播放列表,控制按钮等几块,结构简洁,方便操作。
功能设计:本播放器基本上实现了播放器的基本功能要求,按钮控制播放、暂停,停止,上一集,下一集、添加资源文件,进度条显示和控制播放进度、音量大小,播放类表显示即选择播放资源文件,QLineEdit实现播放网络资源
5.2关键技术解决办法
双击实现全屏:使用bool MainWindow::eventFilter(QObject *o, QEvent *e)创建过滤器,安装过滤器videoOutput-installEventFilter(this);
添加背景图标:setIcon(QIcon(:/new/prefix1/images/pause.png))
切换播放暂停图标:
if(player-state()==QMediaPlayer::PlayingState)
ui-playorpause-setIcon(QIcon(:/new/prefix1/images/play.png));
if(player-state()==QMediaPlayer::PausedState)
ui-playorpause-setIcon(QIcon(:/new/prefix1/images/pause.png));
六.功能模块及关键源代码实现
该播放器主要功能模块的实现:
6.1 实现播放、暂停、停止、上一首、下一首
播放、暂停:
void MainWindow::on_playorpause_clicked()
{
showtime();
if(playlist-mediaCount()==0)
{
QMessageBox::about(this, tr(提示), \
文档评论(0)