使用Qt做一个简易音乐播放器[Phonon浅谈--续]


2010-2-13 使用Qt做一个简易音乐播放器【Phonon浅谈--续】

 

在第一篇Phonon浅谈中提及到了Phonon这个多媒体框架的一些基本知识,于是想着结合这些基本知识来实践一番,做一个简单的音乐播放器。

 

【步骤一】

新建一个Qt Gui工程,在建立过程中需要包含Phonon模块,之后生成文件如下图:

Qt Gui工程会生成一个ui文件,在这里是mainwindow.ui。双击mainwindow.ui进行一番简单的布局,如下图:

关于这个ui界面,中央位置是一个QListWidget,用来显示音乐文件列表;下面一栏红色矩形是一个QVBoxLayout垂直布局部件,用来确定等会要建立的播放进度条的位置;而下面则是四个相关控制按钮。

大概地说,Phonon的工作机制是使用MediaObject来管理MediaSource即源文件,通过Path连接到AudioOutput,最后是由AudioOutput将数据发送到相关物理设备。

于是有了步骤二。

 

【步骤二】

步骤一是用来实现基本的界面,而步骤二是用代码实现具体的功能。

基于对Phonon的认识,有了以下四点:

使用MediaObject管理媒体源

使用AudioOutput连接物理设备

使用SeekSlider实现进度条

使用QList实现播放列表

于是产生了相应的代码:

并且需要在构造函数里面将 mediaObject audioOutput 连接起来:


从而使得数据能从 mediaObject 到达 audioOutput ,再通过物理设备播放。

 

1、  要播放音乐首先需要有源文件,所以先实现添加文件的功能。

首先,将添加按钮和添加功能连接起来:


              从而实现点击按钮激活相应操作的功能,而添加音乐文件的槽的代码如下:

上述代码是使用 QFileDialog getOpenFileNames 方法获取若干个音乐文件,然后再使用 Qt 中的 foreach 遍历每个选中的文件,将其添加到播放列表中。

2、  播放、暂停和停止的基本实现

同样的先将信号和槽连接起来:

              之后再具体实现相应的简单功能,这里列出 playFile 的代码:

首先判断列表是否为空,接着设置播放队列,然后播放当前文件,最后使得播放按钮不可用,而激活暂停按钮。其它的功能类似,都是使用 mediaObject 的方法。

 

【步骤三】

这里只简单地实现播放功能,当然还是可以再继续扩展功能,不过这是后话了。

运行的效果图如下:

此时就能听见蛮好听的《左边》了^_^

 

以下是全部代码:

mainwindow.h:

mainwindow.cpp:

main.cpp:


 

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 28
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值