无法使用QMediaPlayer加载音乐文件

时间:2019-05-15 20:11:44

标签: c++ qt qtmultimedia

我正在使用qt5创建媒体播放器。下面的代码工作正常(打开文件对话框,加载一首歌曲,然后在加载后播放),但无法播放某些MP3文件。这些文件没有损坏或类似的东西,我可以用其他媒体播放器打开它们。我注意到其中大多数都大于20 mB。如果找到解决方案,请帮助我。

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFile>
#include <QFileDialog>
#include <QDebug>
#include <iostream>
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    connect(&player, &QMediaPlayer::mediaStatusChanged,
            this, [&](QMediaPlayer::MediaStatus status){

        if(status == QMediaPlayer::LoadedMedia)    //play if loaded
            player.play();
    });
    connect(&player , QOverload<QMediaPlayer::Error>::of(&QMediaPlayer::error),   // notify about errors
        [=](QMediaPlayer::Error error){

        if (error==QMediaPlayer::ResourceError)
           qDebug("resource");
        if (error==QMediaPlayer::FormatError)

           qDebug("format");
        if (error==QMediaPlayer::AccessDeniedError)
            qDebug("acces");
        if (error==QMediaPlayer::ServiceMissingError)
            qDebug("service");

    });

}

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

void MainWindow::on_pushButton_clicked()

{   QString file= QFileDialog::getOpenFileName();  //select file
    player.setMedia(QUrl::fromLocalFile(file)); // load


}

0 个答案:

没有答案
相关问题