遇到一个需求,使用Qt输出报警声,于是试一试能调用的方法。
#include
直接添加头文件
结果马上报错
QT += multimedia
问题解决
#include "widget.h"
#include
#include
//#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
// 播放系统默认的报警声音
// QSound sound("alert"); // 系统默认警告声
// sound.play();
// 播放 Windows 的默认报警声音
QSound sound("SystemExclamation"); // 系统警告声
sound.play();
w.show();
return a.exec();
}
竟然不能用,应该是找不到文件路径,之类的,时间比较赶,就先搞另外一种方法,有空再来测试
调用MP3,播放
代码如下(示例):
#include "widget.h"
#include
#include
#include
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
// 创建 QMediaPlayer 实例
QMediaPlayer *player = new QMediaPlayer;
// 设置要播放的 MP3 文件路径
player->setMedia(QUrl::fromLocalFile("E:/QTcode/liugang/baojing/baojing/shengyin.mp3"));
// 开始播放
player->play();
w.show();
return a.exec();
}
player->setMedia(QUrl::fromLocalFile("qrc:/mp3/shengyin.mp3")); //://shengyin.mp3
怀疑是资源添加有问题:有折腾了一下,先显示一张图片
在Qt中,您可以使用`QLabel`和`QPixmap`来读取并显示一张图片。以下是一个简单的例子,展示了如何使用这些类来显示一张图片:
1. **包含必要的头文件**:
```cpp
#include
#include
#include
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 创建一个QLabel对象
QLabel *label = new QLabel;
// 创建一个QPixmap对象并加载图片
QPixmap pixmap("path/to/your/image.jpg");
// 将图片设置为QLabel的背景
label->setPixmap(pixmap);
// 显示QLabel
label->show();
return app.exec();
}
结果显示图片没问题
将读取MP3文件的函数修改一下
将这句修改: player->setMedia(QUrl::fromLocalFile(“qrc:/mp3/shengyin.mp3”)); ///shengyin.mp3
修改成:player->setMedia(QUrl(“qrc:/mp3/shengyin.mp3”)); ///shengyin.mp3
#include "widget.h"
#include "ui_widget.h"
#include
#include
#include
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
// 创建 QMediaPlayer 实例
QMediaPlayer *player = new QMediaPlayer;
//player->setMedia(QUrl::fromLocalFile("D:/QTcode/gou/baojing/baojing/baojing/shengyin.mp3"));
//player->setMedia(QUrl::fromLocalFile("qrc:/mp3/shengyin.mp3")); //://shengyin.mp3
player->setMedia(QUrl("qrc:/mp3/shengyin.mp3")); //://shengyin.mp3
// 开始播放
player->play();
// 创建一个QLabel对象
QLabel *label = new QLabel;
// 创建一个QPixmap对象并加载图片
QPixmap pixmap(":/mp3/moban.jpg"); //://mp3/moban.jpg
// 将图片设置为QLabel的背景
label->setPixmap(pixmap);
// 显示QLabel
label->show();
}
Widget::~Widget()
{
delete ui;
}
继续加油