Russian Qt Forum

Qt => Мультимедиа => Тема начата: minsk42 от Апрель 03, 2014, 21:14



Название: waveform из mp3
Отправлено: minsk42 от Апрель 03, 2014, 21:14
Здравствуйте.

Мне понадобилось визуализировать зависимость амплитуды от времени аудиосигнала в mp3 формате в Qt, мне по сути не важно как, в реальном времени или картинка со всего трека. Поскольку в  целом я новичок в теме программирования и Qt в частности, мне нужна некоторая помощь в нахождении способа сделать это, должна быть какая-то связка стандартная mp3-конвертор->wav->амплитуда?
Нашел решение через QAudioProbe http://www.qtcentre.org/archive/index.php/t-56805.html
вставил код оттуда
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    player = new QMediaPlayer();
    player->setMedia(QUrl::fromLocalFile("C:/Users/User/Downloads/111.mp3"));

    QAudioProbe *probe = new QAudioProbe;
    connect(probe, SIGNAL(audioBufferProbed(QAudioBuffer)), this, SLOT(streamStarted(QAudioBuffer)));

    if(probe->setSource(player)) {
    qDebug() << "set";
    } else {
    qDebug() << "couldn't set";
    }

    player->setVolume(50);
    player->play();
}

выдает false, хотя вроде все компилится верно и плеер начинает играть музыку. Может кто-то объяснит что в этом варианте не правильно.

Буду благодарен за помощь.