QT之 Qsound 的使用

QT之Qsound的使用

1、在.pro 文件中加 QT  +=  multimedia,才可以使用Qsound

2、在使用的文件中添加头文件:#include<QSound>

3、在main函数中可直接调用Qsound,

代码如下:

#include <QGuiApplication>

#include <QQmlApplicationEngine>

#include<QSound> //引入QSound 头文件

int main(int argc, char *argv[])  //程序主入口

{

QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

QGuiApplication app(argc, argv);

QSound *sound = new QSound("/root/Desktop/a.wav");  //在括号内写入文件绝 //对路径或相对路径,看文件具体在什么目录下

sound ->play();   //播放函数

### 使用 Qt QSound 播放 `.wav` 文件的使用方法 QSound 类是 Qt 提供的一个轻量级音频播放类,适用于播放 `.wav` 格式的音频文件。它支持异步播放,适合在 GUI 应用程序中播放短音频,例如按钮点击提示音或报警音效。 #### 添加模块和头文件 在使用 QSound 前,需要在 `.pro` 文件中添加对 `multimedia` 模块的支持: ```qmake QT += multimedia ``` 在源文件中包含 QSound 的头文件。在某些开发环境中(如 Qt 5.10 + VS2017),需要使用以下方式包含头文件: ```cpp #include <QtMultimedia/QSound> ``` #### 播放音频文件的方法 QSound 提供了两种播放音频文件的方式。 **方式一:直接播放指定路径的音频文件** 可以使用静态方法 `QSound::play()` 直接播放指定路径的 `.wav` 文件。路径可以是资源文件路径或绝对路径。使用资源文件路径可以提高程序的可移植性: ```cpp QSound::play(":/sound/alarm.wav"); ``` **方式二:创建 QSound 对象并播放** 通过创建 QSound 实例,可以更灵活地管理音频播放过程。例如,在按钮点击事件中播放音频: ```cpp void frmMain::on_btn_clicked() { QSound *sound = new QSound(":/image/2.wav"); sound->play(); } ``` 在类中使用时,可以将 QSound 对象作为成员变量,并在构造函数中初始化: ```cpp class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = nullptr); ~Widget(); private slots: void on_pushButton_clicked(); private: QSound *sound; }; Widget::Widget(QWidget *parent) : QWidget(parent), sound(new QSound(":/clicked.wav")) {} Widget::~Widget() { delete sound; } void Widget::on_pushButton_clicked() { sound->play(); } ``` #### 注意事项 - QSound 类仅支持 `.wav` 格式的音频文件[^4]。 - 由于 QSound 不支持播放控制(如暂停、停止、调整音量等),也不提供播放状态反馈,因此不适合用于需要复杂控制的音频播放场景[^2]。 - 在播放音频前,可以使用 `QSound::isAvailable()` 静态函数判断当前平台是否支持音频播放功能[^5]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

papership

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值