Linux下用QT开发音乐播放器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式课程设计报告

—在Linux下开发音乐播放器

李荣贵141578

一.概述

按课程要求,在Linux环境下开发了一款简易的音乐播放器软件,名为“Mini音乐播放器”,运用工具如下:

操作系统:虚拟机中安装xubuntu-14.04.1

IDE:QT Creator3.0.1

该播放器具有如下功能:

1.从本地导入歌曲到歌曲列表中

2.清空歌曲列表

3.删除歌曲列表中选中的歌曲

4.用进度条显示歌曲播放的进度,并显示时间

5.用“播放/暂停”、“停止”、“上一曲”、“下一曲”四个按钮对歌曲进行控制

6.用滑动器对歌曲音量进行控制

7.右键会弹出菜单,可以对程序进行相应的控制

二.项目展示

1.虚拟机截图

2.项目开发界面

3.软件发行后运行情况

隐藏界面部件后

三.程序设计源码分析

接下来展示源代码中的核心代码,其中包括头文件以及cpp文件中的构造函数,源代码我已经上传到网上,有需要的可以下载,链接: /s/1eQgwlUU。

widget.h

-----------------------------------------------------------------------------------------#ifndef WIDGET_H

#define WIDGET_H

#include

#include

#include

namespace Ui{

class Widget;

}

class Widget:public QWidget

{

Q_OBJECT

public:

explicit Widget(QWidget*parent=0);

~Widget();

private slots:

void addSongs();//该槽函数功能是从本地导入音乐文件

void playPause();//该槽函数是用来响应“播放/暂停”按钮

void playStop();//该槽函数是用来响应“停止”按钮

void playNext();//该槽函数是用来响应“下一曲”按钮

void playPrevious();//该槽函数是用来响应“上一曲”按钮

void posChanged(qint64pos);//当歌曲播放进度变化时,该槽函数响应,功能是让进度条与歌曲播放进度保持一致

void durChanged(qint64dur);//该槽函数功能是当歌曲总长度改

变(即切歌)时,设置进度条最大值为歌曲长度(以ms为单位)void setPos(int pos);//该槽函数功能是当拖动进度条改变进度时,设置歌曲的播放进度与之保持一致

void clearList();//清空歌曲列表

void delectSong();//删除歌曲列表中选中的歌曲

void volumeSilence();//响应点击音量按钮,进而设置静音/正常

void setV ol(int vol);//拖动音量滑动条时,设置歌曲音量与之保持一致

void hideShow();//隐藏/显示界面上的部件

void redV olume();//减小音量

void addV olume();//增大音量

private:

Ui::Widget*ui;

private:

QMediaPlayer*player;//QT中提供的用来保存源文件的类,该类提供大量API供调用

QMediaPlaylist*playList;//QT提供的保存播放文件的队列

//以下均为弹出菜单中动作

QAction*action_hideShow;

QAction*action_addSongs;

QAction*action_playPause;

QAction*action_stop;

QAction*action_previous;

QAction*action_next;

QAction*action_addVolume;

QAction*action_redV olume;

QAction*action_quit;

protected:

void contextMenuEvent(QContextMenuEvent*);//该函数为虚函数,对其进行重写,可实现右键单击界面时弹出菜单

};

#endif//WIDGET_H

Widget.cpp

-----------------------------------------------------------------------------------------#include"widget.h"

#include"ui_widget.h"

#include

#include

#include

#include

Widget::Widget(QWidget*parent):

QWidget(parent),

ui(new Ui::Widget)

{

ui->setupUi(this);

//下面几行作用是插入一张图片到播放器界面作为背景

this->setAutoFillBackground(true);

QPalette palette;

palette.setBrush(QPalette::Background,QBrush(QPixmap(":/images/inter face.jpg")));

相关文档
最新文档