Qt实现音频播放

举报
咚咚隆地咚 发表于 2022/09/20 17:52:59 2022/09/20
【摘要】 QT中有许多实现音频播放的方法,QSound *sound=new QSound("路径"); sound->play();可以实现mav音频的播放(但是通过自己使用,发现并不是这样的)。再通过不断的查找下,发现这个新的方法。 代码展示.h QMediaPlayer *player; QMediaPlaylist* playlist;前提:首先在.pro中添加 QT ...

QT中有许多实现音频播放的方法,QSound *sound=new QSound("路径"); sound->play();可以实现mav音频的播放(但是通过自己使用,发现并不是这样的)。再通过不断的查找下,发现这个新的方法。

代码展示

.h

    QMediaPlayer *player;
    QMediaPlaylist* playlist;

前提:
首先在.pro
中添加 QT += multimedia Qt Multimedia他提供了丰富的接口,可以通过这个接口,实现多种多媒体的功能。 并且,有了这个接口,后续所需要的库文件才能加载成功。

在.h中加载

#include <QtMultimedia/QMediaPlayer>

#include <QMediaPlaylist>

这两个库文件。
<QtMultimedia/QMediaPlayer> 主要适用于音频的播放

QMediaPlaylist主要是为了设置音频循环播放。

.cpp


    playlist = new QMediaPlaylist;
    playlist->addMedia(QUrl::fromLocalFile(path));
    playlist->setPlaybackMode(QMediaPlaylist::Loop);
    player = new QMediaPlayer;
    player->setPlaylist(playlist);
    player->setVolume(30);

第一步: 首先初始化变量。(两个初始化可放在一起,没有顺序要求)

第二步: playlist添加音频的路径,这里一定一定要注意,他的地址一定要是在文件夹中的路径(绝对路径),不可以直接使用把资源加载到项目中(图片可以这样使用,但是音频文件一定一定不可以!)

第三步: 将音频设为无限单循环模式,可以使用QMediaPlaylist::Loop这个属性。同时他也拥有多种属性,可以实现单曲循环、随机播放、顺序播放和列表循环。

属性 介绍
QMediaPlaylist::CurrentItemInLoop 单曲循环
QMediaPlaylist::Sequential 顺序播放
QMediaPlaylist::Loop 列表循环
QMediaPlaylist::Random 随机播放

第四步: 通过setPlaylist将播放列表添加到播放器中。

第五步: 可通过setVolume设置应量大小 范围值0~100

问题

在我打包的时候不知道是出了什么问题,在别人的电脑上不能正常播放,但是在自己的电脑上可以,如有懂得,欢迎指教!

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。