




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一节 实现基本功能说明:源代码我已经上传到CSDN网站,请大家到/网站搜索“基于QT的音乐播放器源代码及详细教程”下载。1.新建工程,基类选择Qwidget。双击打开界面文件,在界面文件中创建label显示时间、若干个toolbutton按钮和一个listWidget列表显示歌曲列表。点击“文件”-“新建”创建QT资源文件,在工程目录下建文件夹“images”, 双击QT资源文件添加前缀“/”,再添加图标文件。2.单击上一曲按钮,在属性栏设置标题tooltip和图标icon:界面如下: 3.右键几个按钮,转入槽函数,列表和歌词的信号选择clicked(bool)。4.工程文件中添加语句QT += phonon对音乐播放器进行设计,主要用到模块中的MediaObject (管理媒体源) AudioOutput (连接物理设备)SeekSlider( 实现进度条)QList (实现播放列表 )大概地说, Phonon 的工作机制是使用 MediaObject 来管理 MediaSource 即源文件,通过 Path 连接到 AudioOutput ,最后是由 AudioOutput 将数据发送到相关物理设备。5.修改widget.h头文件在widget.h头文件添加语句:#include 在头文件声明变量:private: Phonon:MediaObject *audio;/管理媒体源 Phonon:MediaObject *musicInformationMediaObject;/ Phonon:VideoWidget *videoWidget;/ Phonon:AudioOutput *audioOutput;/连接物理设备 Phonon:SeekSlider *seekSlider;/实现进度条 Phonon:VolumeSlider *volumeSlider;/音量调节 QList sourceList;/播放列表 QTimer *timer; QIcon *iconplay; QIcon *iconpause; QAction *play; QAction *stop; QAction *open; QAction *sound; QAction *exit;QAction *remove;头文件声明函数:public: void creatActions();/创建动作6.修改widget.cpp文件构造函数添加:this-setWindowTitle(tr(音乐播放器);/设置标题 /*初始化媒体*/ audio =new Phonon:MediaObject();/媒体对象 audio-setTickInterval(1); audioOutput = new Phonon:AudioOutput(Phonon:VideoCategory);/音频输出 Phonon:createPath(audio,audioOutput);/连接媒体对象与音频输出 musicInformationMediaObject = new Phonon:MediaObject(this); /音乐信息对象 volumeSlider = new Phonon:VolumeSlider(audioOutput,this); /音量滑动条 volumeSlider-move(190,100); volumeSlider-resize(50,20); volumeSlider-setStyleSheet(background-color:rgb(255,255,255,100); volumeSlider-setFixedWidth(100);/固定音量条大小 seekSlider = new Phonon:SeekSlider(audio,this); /进度滑动条 seekSlider-move(10,35); seekSlider-resize(170,20); seekSlider-setStyleSheet(background-color:rgb(255,255,255,100); creatActions();函数定义:/播放/暂停void Widget:on_toolButton_playpause_clicked() if(sourceList.isEmpty() /QMessageBox:information(this, tr(no music files), tr(no files to play); return ; audio-setQueue(sourceList);/列表循环 if(audio-state() = Phonon:PlayingState) audio-pause(); else audio-play(); /停止播放void Widget:on_toolButton_stop_clicked() audio-stop();void Widget:on_toolButton_open_clicked() QStringList files = QFileDialog:getOpenFileNames(this, tr(Selec Files to play); / 使用 QFileDialog 的 getOpenFileNames 方法获取若干个音乐文件, QString file; foreach(file, files)/ 使用 Qt 中的 foreach 遍历每个选中的文件,将其添加到播放列表中。 ui-listWidget-addItem(file); sourceList.append(file); void Widget:creatActions() QIcon iconremove(:/images/remove.png); QIcon iconstop(:/images/gtk-media-stop.png); QIcon iconopen(:/images/gtk-open.png); QIcon iconsound(:/images/sound.png); QIcon iconexit(:/images/exit.png); iconpause = new QIcon(:/images/gtk-media-pause.png); iconplay = new QIcon(:/images/gtk-media-play-ltr.png); remove = new QAction(iconremove,tr(清空播放列表),this); connect(remove,SIGNAL(triggered(),this,SLOT(removeSlot(); play = new QAction(*iconplay,tr(播放),this); connect(play,SIGNAL(triggered(),this,SLOT(on_toolButton_playpause_clicked(); stop = new QAction(iconstop,tr(停止),this); connect(stop,SIGNAL(triggered(),audio,SLOT(stop(); open = new QAction(iconopen,tr(打开文件),this); connect(open,SIGNAL(triggered(),this,SLOT(on_toolButton_open_clicked(); sound = new QAction(iconsound,tr(静音),this); sound-setCheckable(true); connect(sound,SIGNAL(triggered(bool),audioOutput,SLOT(setMuted(bool); exit = new QAction(iconexit,tr(退出),this); connect(exit,SIGNAL(triggered(),this,SLOT(exitS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 色彩管理算法的深度学习优化研究-洞察及研究
- 全国粤教版信息技术七年级上册第一单元第五节4.《格式化磁盘》说课稿
- 月经内科知识培训课件
- 食品安全快速检测技术应用方案
- 车站建筑竞赛方案设计(3篇)
- 区域工业化与城市化 第2课时 教学设计 (共3份打包)
- 中山服常见缺陷分析教学设计-2025-2026学年中职专业课-服装缝制工艺-服装设计与工艺-轻工纺织大类
- 防洪建筑方案设计图集(3篇)
- 小学牛津英语期末模拟试卷全套
- 2025年学历类自考专业(护理)内科护理学(一)-内科护理学(二)参考题库含答案解析(5套)
- 2025年山东省菏泽市中考英语真题(无答案)
- 2025劳动合同书示范文本下载
- 急性阑尾炎病人护理课件
- 水利水电工程单元工程施工质量验收标准第8部分:安全监测工程
- 2026年高考政治一轮复习:高考政治主观题背诵提纲汇编
- 2025总公司授权分公司签订合同的示范文本
- 2025年医师定期考核法律法规试题及答案
- 学堂在线 大学计算机基础 章节测试答案
- 骨科手术切口感染的预防与控制
- 县域共配仓农村物流配送成本控制报告
- 二级实验室生物安全管理手册
评论
0/150
提交评论