1 简单的示例程序
.pro 文件
QT += multimedi
.h 文件
#include <QtCore/QCoreApplication>
#include <QtMultimedia/QMediaPlayer>
.cpp 文件
QMediaPlayer * player = new QMediaPlayer;
player->setMedia(QUrl::fromLocalFile("/home/tianru/temp/552804.mp3"));
// 如果是在资源文件里用 fromEncoded 函数获取地址
//player->setMedia(QUrl::fromEncoded("qrc:/mp3/552800.mp3"));
player->setVolume(50);
player->play();
2 问题
在 Ubuntu 开发环境下播放声音一般没什么问题,但是把程序打包后转移到另一台 Ubuntu 上却发现没有声音!
解决办法:
- 安装 GStreamer,这是解码器,因为 Qt 自身没有所以会调用底层的;
- 将 Qt 安装目录下的
Qt5.9.2/5.9.2/gcc_64/plugins/mediaservice
目录拷贝到打包的可执行文件目录下即可;