前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用QT播放音频文件的几种方法:QSound、QSoundEffect、QMediaPlayer

使用QT播放音频文件的几种方法:QSound、QSoundEffect、QMediaPlayer

作者头像
DS小龙哥
发布2022-01-12 11:10:34
14.9K0
发布2022-01-12 11:10:34
举报
文章被收录于专栏:嵌入式项目开发

一、环境介绍

QT版本: QT5.12

操作系统: ubuntu18.04 、Windows10

使用QT的音频相关的类,需要在QT的pro工程文件里加入: QT += multimedia

二、使用QSound播放WAV格式音频文件(未压缩的音频文件):最简单的播放方式

2.1 静态方法播放: 这种方法会自己创建一个子线程在后台播放,比较适合在主线程里调用,子线程里调用该函数播放音频文件会报警告: 。QObject: Cannot create children for a parent that is in a different thread. (Parent is QApplication(0x7ffc5e9f21f0), parent's thread is QThread(0x55ddf74113e0), current thread is QThread(0x7ffc5ebb6588)

代码语言:javascript
复制
#include <QSound>
//文件的路径可以是资源文件路径也可以是本地文件系统路径
QSound::play("/mnt/hgfs/linux-share-dir/666.wav");

2.2 加载文件播放

代码语言:javascript
复制
#include <QSound>   
QSound *bells =new QSound("/mnt/hgfs/linux-share-dir/666.wav");
bells->play();

三、使用QSoundEffect播放WAV格式音频文件(未压缩的音频文件):适合提示音

代码语言:javascript
复制
#include <QSoundEffect>
QSoundEffect *effect=new QSoundEffect;
effect->setSource(QUrl::fromLocalFile("/mnt/hgfs/linux-share-dir/666.wav"));
effect->setLoopCount(1);  //循环次数
effect->setVolume(0.25f); //音量  0~1之间
effect->play();

四、使用QMediaPlayer播放音频文件: 适合做音乐播放器

4.1 播放wav格式音频文件

代码语言:javascript
复制
#include <QMediaPlayer>
QMediaPlayer *player = new QMediaPlayer;
player->setMedia(QUrl::fromLocalFile("/mnt/hgfs/linux-share-dir/666.wav"));
player->setVolume(50); //0~100音量范围,默认是100
player->play();

4.2 播放mp3格式音频文件

代码语言:javascript
复制
    #include <QMediaPlayer>
    QMediaPlayer *player = new QMediaPlayer;
    //播放进度的信号提示
    connect(player, SIGNAL(positionChanged(qint64)), this, SLOT(positionChanged(qint64)));
    player->setMedia(QUrl::fromLocalFile("/mnt/hgfs/linux-share-dir/xiaotiaowa.mp3"));
    player->setVolume(50); //0~100音量范围,默认是100
    player->play();
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/04/20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、环境介绍
  • 二、使用QSound播放WAV格式音频文件(未压缩的音频文件):最简单的播放方式
  • 三、使用QSoundEffect播放WAV格式音频文件(未压缩的音频文件):适合提示音
  • 四、使用QMediaPlayer播放音频文件: 适合做音乐播放器
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档