云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 成都理工大学Qt课程设计实验报告-基于QT实现的简易音乐播放器

成都理工大学Qt课程设计实验报告-基于QT实现的简易音乐播放器

  • 62 次阅读
  • 3 次下载
  • 2025/6/18 12:59:50

QPushButton类型的换肤控件PbChange在窗口的最下方位置,用于窗体皮肤的切换,初始值为默认第一张背景,可读写。

2.2 项目框架设计

这个软件设计的目的就是制作一个能够播放音频的播放器。通过创建带有Phonon模块的工程,对音乐播放器进行设计,主要用到模块中的MediaObject (管理媒体源) AudioOutput (连接物理设备)SeekSlider( 实现进度条)QList (实现资源添加), 在播放的文件方面,可播放本地的音频文件在功能方面,它具备一些基本的音乐操作处理功能(暂停、播放、音量调节、拖动、停止等)。

设计该播放器涉及到的几种重要类:

MediaObject Class :主要提供一个能够处理媒体播放的介面。 MediaObject可说是处理多媒体档案最基本的一部份,它接受并管理来自于MediaSource的媒体档案,而媒体播放、暂停与停止都是由它来控制。而在此之前,media物件必须要与output node连接,这个nodes主要将媒体输出至底层的硬体,例如音效卡或显示卡等,而所需要的output node则是根据多媒体的内容而所不同。目前Phonon有两种output node:AudioOutput声音播放,VideoWidget影像播放。

AudioOutput Class :主要是用来把多媒体的声音送到声音输出装置。所以它能够经由类似喇叭等输出装置来播放,多媒体资料的来源必须要经过Phonon::createPath()由MediaObject连接。

SeekSlider Class :提供一个可滑动的slider来设定多媒体串流播放的位置,即播放进度条,所以它会连接到MediaObject,并控制串流目前的位置。

VolumeSlider Class :提供可以控制声音装置音量的widget,它会连接到MediaObject,以此控制音量输出的大小。

QAction Class :QAction类提供了抽象的用户界面action,这些action可以被放置在窗口部件中。应用程序可以通过菜单,工具栏按钮以及键盘快捷键来调用通用的命令。本播放器通过QWidget::addAction()函数将Actions添加到窗口部件上。

5

2.3 系统实现

首先,本音乐播放器具备的功能图解:

播放

暂停 停止

基本操作 音量调节

进度调节 功能 打开本地文件

播放时间显示 其他操作 换肤

下面就各主要功能分版块介绍:

1.在本播放器开发中,使用中文编码,在main函数中包含头文件 #include ,在main函数体中加入如下代码: QTextCodec *codec = QTextCodec::codecForName(\;//中文编码 QTextCodec::setCodecForTr(codec); QTextCodec::setCodecForLocale(codec); QTextCodec::setCodecForCStrings(codec); 即可实现中文编码。

2.用到的Phonon媒体变量: 媒体变量名规划 类型 变量名 概述 Phonon::MediaObject * musicObject 媒体对象 Phonon::MediaObject * audiooutput 音频输出 Phonon::SeekSlider* seekSlider 播放进度滑竿 Phonon::VolumeSlider* volumeSlider 音量调节滑竿 QList sources 音乐资源 6

3,步骤及功能实现代码:

新建一个空的Qt项目文件,继承自QMainWindow,添加main函数。Phonon的工作机制是使用MediaSourse即源文件,通过Path连接到AudioOutput,最后使用AudioOutput将数据发送到相关物理设备。所以,如果要使用Phonon的相关媒体变量,需要在Pro文件中添加一行代码:QT += phonon

接着,在头文件中需要包含的有:

#include #include #include #include #include #include #include #include

私有成员变量:

void setupActions(); void setupMenus(); void setupUi();

Phonon::SeekSlider *seekSlider; //进度条滑块 Phonon::MediaObject *mediaObject; //播放媒体界面 Phonon::MediaObject *metaInformationResolver; Phonon::AudioOutput *audioOutput; //音频输出 Phonon::VolumeSlider *volumeSlider; //音量调节滑竿 QList sources;//媒体资源 QAction *playAction; //播放按钮 QAction *pauseAction; //暂停按钮 QAction *stopAction; //停止按钮

7

QAction *addFilesAction; //添加文件按钮 QLCDNumber *timeLcd; //显示屏 QTableWidget *musicTable; //音乐表格 QPushButton *PbChange; //换肤按钮 int myRand(int max); //随机数

int miGrade;

下面就各功能分块介绍: 1, 添加文件功能

addFilesAction = new QAction(tr(\添加文件\

connect(addFilesAction, SIGNAL(triggered()), this, SLOT(addFiles())); void MainWindow::addFiles() {

QStringList files = QFileDialog::getOpenFileNames(this, tr(\选择文件\添加文件对话框

QDesktopServices::storageLocation(QDesktopServices::MusicLocation));//文件地址

if (files.isEmpty())//如果文件为空,返回 return;

int index = sources.size(); foreach (QString string, files) {

Phonon::MediaSource source(string); sources.append(source); }

metaInformationResolver->setCurrentSource(sources.at(index)); }

将添加文件按钮加入到菜单中:

void MainWindow::setupMenus()//设置菜单

8

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

QPushButton类型的换肤控件PbChange在窗口的最下方位置,用于窗体皮肤的切换,初始值为默认第一张背景,可读写。 2.2 项目框架设计 这个软件设计的目的就是制作一个能够播放音频的播放器。通过创建带有Phonon模块的工程,对音乐播放器进行设计,主要用到模块中的MediaObject (管理媒体源) AudioOutput (连接物理设备)SeekSlider( 实现进度条)QList (实现资源添加), 在播放的文件方面,可播放本地的音频文件在功能方面,它具备一些基本的音乐操作处理功能(暂停、播放、音量调节、拖动、停止等)。 设计该播放器涉及到的几种重要类: MediaObject Class :主要提供一个能够处理媒体播放的介面。 MediaObject可说是处理多媒体档案最基本的一部份,它

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com