您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > -播放器-课程设计报告-
2013-2014学年秋季学期《Windows程序设计》课程设计报告学院:计算机与信息学院序号:18姓名:学号:指导教师:完成时间2013年12月30日一.课程设计题目....................................................................................3二.课程设计内容及功能........................................................................32.1.内容...............................................................................................32.2功能...............................................................................................3三.课程设计要求....................................................................................3四.关键技术及相关原理........................................................................4五.设计思路及关键技术解决方法........................................................45.1设计思路.....................................................................................45.2关键技术解决办法......................................................................5六.功能模块及关键源代码实现............................................................56.1实现播放、暂停,停止,上一首,下一首.............................56.2添加本地资源文件.....................................................................96.3键盘控制快进、快退、音量加减............................................106.4播放网络资源............................................................................13七.运行结果及演示说明......................................................................147.1运行后整体界面........................................................................147.2添加本地文件..............................................错误!未定义书签。八.总结及心得体会......................................................................15九.参考文献...........................................................................................15一.课程设计题目音频、视频播放器二.课程设计内容及功能2.1.内容播放器,实现播放本地网络的视音频资源,实现了播放器所需的基本功能,有一定的容错性2.2功能1.播放视频音频文件2.实现播放、暂停、停止、上一集、下一集3.播放列表4.添加本地视、音频文件5.键盘控制快进、快退、音量加、减6.全屏播放、退出全屏7.播放网络音视频资源三.课程设计要求本播放器应能实现播放器的基本功能,可以通过按钮实现播放、暂停、停止、上一集、下一集,可以添加本地视、音频文件,可以显示播放列表,在输入栏中输入网络播放地址可以实现播放网络资源文件四.关键技术及相关原理本播放器界面文件中使用到的组件有QPushButton、QSlider、QTableWidget、QLineEdit。播放器的播放多媒体功能通过Qmediaplayer类来实现;通过QSlider类来显示播放进度、音量及控制播放进度、音量大小;播放列表通过QMediaPlaylist类来实现,可以添加本地影视资源;使用QTableWidget组件来显示播放列表,可以点击任意资源文件实现播放;通过QLineEdit类来实现网络地址输入框,player-setMedia(QUrl::fromLocalFile(ui-lineEdit-text()))语句实现播放;使用setIcon(QIcon());添加背景图标。五.设计思路及关键技术解决方法5.1设计思路界面设计:本播放器模仿迅雷播放器的界面构造,只要分为视频显示,播放列表,控制按钮等几块,结构简洁,方便操作。功能设计:本播放器基本上实现了播放器的基本功能要求,按钮控制播放、暂停,停止,上一集,下一集、添加资源文件,进度条显示和控制播放进度、音量大小,播放类表显示即选择播放资源文件,QLineEdit实现播放网络资源5.2关键技术解决办法双击实现全屏:使用boolMainWindow::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实现播放、暂停、停止、上一首、下一首播放、暂停:voidMainWindow::on_playorpause_clicked(){showtime();if(playlist-mediaCount()==0){QMessageBox::about(this,tr(提示),\tr(播放列表中没有播放资源!));return;}qDebug()playlist-currentIndex();switch(player-state()){caseQMediaPlayer::PlayingState:player-pause();ui-playorpause-setIcon(QIcon(:/new/prefix1/images/play.png));//ui-pushButtonPlay-setChecked(false);break;caseQMediaPlayer::PausedState:play();ui-playorpause-setIcon(QIcon(:/new/prefix1/images/pause.png));break;caseQMediaPlayer::StoppedState:play();ui-playorpause-setIcon(QIcon(:/new/prefix1/images/pause.png));break;}}停止:voidMainWindow::on_stop_clicked(){player-stop();ui-widgetVideo-setBackgroundRole(QPalette::Background);ui-playorpause-setIcon(QIcon(:/new/prefix1/images/play.png));}上一集、下一集:voidMainWindow::on_pre_clicked(){if(playlist-mediaCount()==0){QMessageBox::about(this,tr(提示),\tr(播放列表中没有播放资源!));return;}if(playlist-currentIndex()==0)playlist-setCurrentIndex(playlist-mediaCount()-1);else{playlist-setCurrentIndex(playlist-currentIndex()-1);player-play();}ui-playorpause-setIcon(QIcon(:/new/prefix1/images/pause.png));}voidMainWindow::on_next_clicked(){if(playlist-mediaCount()==0){QMessageBox::about(this,tr(提示),\tr(播放列表中没有播放资源!));return;}playlist-setCurrentIndex((playlist-currentIndex()+1)%playlist-mediaCount());player-play();ui-pre-setIcon(QIcon(:/new/prefix1/images/pause.png));}6.2添加本地资源文件voidMainWindow::on_resource_clicked(){QStringinitialName=G:\\迅雷下载;//QDir::homePath();QStringListpathList=QFileDialog::getOpenFileNames(this,tr(选择文件),initialName,tr(.mp3));for(inti=0;ipathList.size();++i){QStringpath=QDir::toNativeSeparators(pathList.at(i));if(!path.isEmpty()){playlist-addMedia(QUrl::fromLocalFile(path));QStringfileName=path.split(\\).last();intrownum=ui-tableWidget-rowCount();ui-tableWidget-insertRow(rownum);ui-tableWidget-setItem(rownum,0,newQTableWidgetItem(fileName.split(.).front()));ui-tableWidget-setItem(rownum,1,newQTableWidgetItem(fileName.split(.).last()));ui-tableWidget-setItem(rownum,2,newQTableWidgetItem(path));}}}6.3键盘控制快进、快退、音量加减voidMainWindow::keyPressEvent(QKeyEvent*e){switch(e-key()){caseQt::Key_U
本文标题:-播放器-课程设计报告-
链接地址:https://www.777doc.com/doc-3116092 .html