跳至正文
-
Subscribe to our newsletter & never miss our best posts. Subscribe Now!
BG6RSH's 随记.

我们总是在感叹昨天,忽视今天,幻想着明天中渡过,且过且珍惜.....

BG6RSH's 随记.

我们总是在感叹昨天,忽视今天,幻想着明天中渡过,且过且珍惜.....

  • 首页
  • 论坛
  • 随记
  • 编程
  • 软件
  • 留言
  • 首页
  • 论坛
  • 随记
  • 编程
  • 软件
  • 留言
关

搜索

  • https://www.facebook.com/
  • https://twitter.com/
  • https://t.me/
  • https://www.instagram.com/
  • https://youtube.com/
Subscribe
随记

QMediaPlayer播放MP3无声音解决办法

作者 admin
2021年4月24日 1 分钟阅读
0

QT中利用QMediaPlayer播放MP3无声音,程序运行时提示:
“QtMultimedia : defaultServiceProvider::requestService(): no service found for – “org.qt-project.qt.mediaplayer”
调试跟踪错误信息,提示:
“A valid playback service was not found, playback cannot proceed.”

原因是系统中在Linux中缺少libqt5multimedia5-plugins 库文件,安装后解决:

sudo apt install  libqt5multimedia5-plugins

完成例子源代码:

mainwindows.h

<code>#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QtMultimedia/QMediaPlayer>
#include <QtMultimedia/QMediaPlaylist>
#include <QDir>
#include <QRandomGenerator>

QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
    QMediaPlayer *player;
    QMediaPlaylist *playlist;
    QList<QFileInfo> *fileInfo;
    QDir *dir;
    int mp3count;

private slots:
    void on_pushButton_clicked();
    void on_pushButton_2_clicked();

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
</code>

mainwindows.cpp

#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 播放器
    player = new QMediaPlayer;
    // 播放错误信息
    connect(player, QOverload<QMediaPlayer::Error>::of(&QMediaPlayer::error),
    [=](QMediaPlayer::Error error) {
        qDebug()<<error;
    });

    // 生成播放列表
    playlist = new QMediaPlaylist(player);
    dir=new QDir("/home/pi/Music");  // mp3存放目录
    QStringList filter;
    filter<<QString("*.mp3");
    fileInfo=new QList<QFileInfo>(dir->entryInfoList(filter));
    for(int i = 0; i<fileInfo->count(); i++)
    {
        qDebug()<<fileInfo->at(i).filePath();
        playlist->addMedia(QUrl::fromLocalFile(fileInfo->at(i).filePath()));
        ui->textEdit->append(fileInfo->at(i).filePath());
    }

    player->setPlaylist(playlist);
    mp3count = fileInfo->count();
    qDebug()<< "Mp3 count : "<< mp3count << endl;
}

MainWindow::~MainWindow()
{
    delete ui;
}


void MainWindow::on_pushButton_clicked()
{
    // 随机播放mp3
    player->stop();
    player->setPlaylist(playlist);
    int i = QRandomGenerator::global()->bounded(fileInfo->count());
    playlist->setCurrentIndex(i);

    qDebug()<< "Mp3 index : "<< i << ", name:"<< player->currentMedia().canonicalUrl();;
    player->setVolume(50);
    player->play();
}

void MainWindow::on_pushButton_2_clicked()
{
    // 播放指定mp3
    player->setMedia(QUrl::fromLocalFile("/home/pi/Music/红日.mp3"));
    qDebug()<< player->currentMedia().canonicalUrl();
    player->setVolume(50);
    player->play();

}
作者

admin

关注我
其他文章
上一个

traccar服务Docker镜像制作方法

下一个

群晖中安装python3、pip3和阿里云Python SDK

暂无评论!成为第一个。

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。

4条垃圾评论已被Akismet阻挡 (在新标签页中打开)

近期文章

  • www.tansoo.cn网站空间迁移至armbian主机
  • 在QT6中安装qtmqtt、qtopcua控件的方法
  • 你的 Python 环境或安装版没有 spyder‑kernels 模块或没有安装正确的版本 (>=
  • 用PYTHON爬网络小说源代码
  • QT5.15.2搭建ANDROID编译环境

近期评论

  • gg 发表在《Traccar服务软件高德地图适配版docker镜像安装教程》
  • admin 发表在《Traccar服务软件高德地图适配版docker镜像安装教程》
  • /api/positions/里addres 为什么是null啊? 发表在《Traccar服务软件高德地图适配版docker镜像安装教程》
  • gg 发表在《Traccar服务软件高德地图适配版docker镜像安装教程》
  • 9394 发表在《Traccar服务软件高德地图适配版docker镜像安装教程》

归档

  • 2025 年 6 月
  • 2023 年 6 月
  • 2022 年 10 月
  • 2021 年 5 月
  • 2021 年 4 月
  • 2020 年 11 月
  • 2020 年 10 月
  • 2020 年 6 月
  • 2019 年 11 月
  • 2019 年 8 月
  • 2019 年 6 月
  • 2019 年 1 月
  • 2018 年 12 月
  • 2018 年 11 月
  • 2017 年 9 月
  • 2016 年 7 月
  • 2016 年 5 月
  • 2015 年 12 月
  • 2015 年 4 月
  • 2015 年 1 月
  • 2014 年 12 月
  • 2014 年 11 月
  • 2014 年 10 月
  • 2014 年 9 月
  • 2014 年 8 月
  • 2014 年 7 月
  • 2014 年 6 月
  • 2014 年 5 月
  • 2013 年 10 月
  • 2013 年 9 月
  • 2013 年 8 月
  • 2013 年 7 月
  • 2013 年 6 月
  • 2013 年 5 月
  • 2013 年 4 月
  • 2013 年 3 月
  • 2013 年 2 月
  • 2013 年 1 月
  • 2012 年 12 月
  • 2012 年 11 月
  • 2012 年 10 月
  • 2012 年 6 月
  • 2012 年 3 月
  • 2011 年 8 月
  • 2011 年 5 月
  • 2011 年 4 月
  • 2011 年 3 月
  • 2011 年 1 月
  • 2010 年 8 月
  • 2010 年 6 月
  • 2010 年 4 月
  • 2010 年 3 月
  • 2010 年 2 月
  • 2010 年 1 月
  • 2009 年 12 月
  • 2009 年 11 月

分类

  • 编程
  • 软件
  • 随记

其他操作

  • 注册
  • 登录
  • 条目 feed
  • 评论 feed
  • WordPress.org

标签

aliyun Android CRC DBGridEh ddns Delphi EhLib ESP8266 GP328D gp338plus GP3688 Modbus phpbb python QT raspberry S7-SCL sapi speech SpVoice Synology traccar UART Unicode virtualbox vmware WGS84 wordpress ZeroTier 写频 动态IP 图片尺寸 地图 外挂编程 天气预报 导航 打印 扩频 拼音首字母 支票快打 树莓派 爬虫 百度地图 西门子PLC 车联网API

友情链接

  • 私有云论坛
  • 百度开放云
  • 主机管理
  • My Cloud
  • 智能家居技术论坛
  • 精灵云
  • 雅苑私站
Copyright 2026 — BG6RSH's 随记.. All rights reserved. Blogsy WordPress Theme