使用Qt做一个简易音乐播放器.doc

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用Qt做一个简易音乐播放器

【步骤一】 新建一个 Qt Gui 工程,在建立过程中需要包含 Phonon 模块,之后生成文件如下图: Qt Gui 工程会生成一个 ui 文件,在这里是 mainwindow.ui 。双击 mainwindow.ui 进行一番简单的布局,如下图: 关于这个 ui 界面,中央位置是一个 QListWidget ,用来显示音乐文件列表;下面一栏红色矩形是一个 QVBoxLayout 垂直布局部件,用来确定等会要建立的播放进度条的位置;而下面则是四个相关控制按钮。 大概地说, Phonon 的工作机制是使用 MediaObject 来管理 MediaSource 即源文件,通过 Path 连接到 AudioOutput ,最后是由 AudioOutput 将数据发送到相关物理设备。 于是有了步骤二。 【步骤二】 步骤一是用来实现基本的界面,而步骤二是用代码实现具体的功能。 基于对 Phonon 的认识,有了以下四点: ① 使用 MediaObject 管理媒体源 ② 使用 AudioOutput 连接物理设备 ③ 使用 SeekSlider 实现进度条 ④ 使用 QList 实现播放列表 于是产生了相应的代码: view plaincopy to clipboardprint? 01.Phonon::MediaObject *mediaObject; 02.Phonon::AudioOutput *audioOutput; 03.Phonon::SeekSlider *seekSlider; 04.QListPhonon::MediaSource sourceList;//播放列表 Phonon::MediaObject *mediaObject; Phonon::AudioOutput *audioOutput; Phonon::SeekSlider *seekSlider; QListPhonon::MediaSource sourceList;//播放列表 并且需要在构造函数里面将 mediaObject 和 audioOutput 连接起来: view plaincopy to clipboardprint? 01.Phonon::createPath(mediaObject, audioOutput); Phonon::createPath(mediaObject, audioOutput); 从而使得数据能从 mediaObject 到达 audioOutput ,再通过物理设备播放。 1、 要播放音乐首先需要有源文件,所以先实现添加文件的功能。 首先,将添加按钮和添加功能连接起来: view plaincopy to clipboardprint? 01.connect(this-ui-addBtn, SIGNAL(clicked()), this, SLOT(addFiles())); connect(this-ui-addBtn, SIGNAL(clicked()), this, SLOT(addFiles())); 从而实现点击按钮激活相应操作的功能,而添加音乐文件的槽的代码如下: view plaincopy to clipboardprint? 01.void MainWindow::addFiles(){ 02. QStringList files = QFileDialog::getOpenFileNames(this, tr(Selec Files to play)); 03. QString file; 04. foreach(file, files){ 05. this-ui-listWidget-addItem(file); 06. sourceList.append(file); 07. } 08.} void MainWindow::addFiles(){ QStringList files = QFileDialog::getOpenFileNames(this, tr(Selec Files to play)); QString file; foreach(file, files){ this-ui-listWidget-addItem(file); sourceList.append(file); } } 上述代码是使用 QFileDialog 的 getOpen

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档