Не могу загрузить музыкальный файл с QMediaPlayer - PullRequest
0 голосов
/ 15 мая 2019

Я создаю медиаплеер с qt5.Приведенный ниже код работает нормально (он открывает диалоговое окно файла, загружает одну песню и воспроизводит ее после загрузки), но не может воспроизводить некоторые файлы MP3.Эти файлы не повреждены или что-то вроде этого, я могу открыть их с помощью других медиаплееров.Я заметил, что большинство из них больше 20 мБ.Пожалуйста, помогите мне, если вы найдете решение.

#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


}
...