QAudioDecoder — служба не найдена

Я пытаюсь расшифровать .WAV использование файла QAudioDecoder учебный класс. Хотя я включил QtMultimedia модуль в мой .профессионал файл путем добавления
QT += multimedia Я получаю сообщение об ошибке, что сервис для QAudioDecoder не был найден. Я не могу увидеть, где проблема ложь.

Я использую Qt 5.1.0 с MingGW 4.8 32 бит на Windows 7.

Сообщение об ошибке:

defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.audiodecode"

.профессионал файл:

QT       += core
QT       += multimedia
QT       -= gui

TARGET = test
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app
SOURCES += main.cpp

главный файл:

#include <QCoreApplication>
#include <QAudioDecoder>
#include <QAudioBuffer>

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

QString pathToFile = "C:/Users/Mateusz/Documents/Szkola/Sound Processing/Lab1/artificial/easy/506Hz.wav";

QAudioDecoder decoder;
decoder.setSourceFilename(pathToFile);

decoder.start();
while(decoder.bufferAvailable()) {
QAudioBuffer buffer = decoder.read();
qDebug() << "Buffer size: " << buffer.byteCount();
}

return a.exec();
}

3

Решение

Модуль мультимедиа использует плагины, которые различны для каждой платформы (или компилятора).

Увидеть http://qt-project.org/wiki/Qt_Multimedia_Backends

В Windows у вас есть DirectShow и MediaFoundation (WMF).
Только плагин WMF реализует функции декодирования аудио.
Плагин WMF доступен только с компилятором MSVC.

Увидеть http://qt-project.org/doc/qt-5.1/qtmultimedia/platform-notes-windows.html

4

Другие решения

У меня была такая же проблема в Qt5.5, работающем под Linux.
Проблема исчезла после обновления до Qt5.5.1 с использованием их MaintenanceTool.

0

Я также боролся с этой проблемой и, наконец, заставил ее работать, используя компилятор MS visual studio в QT Creator, как предложил Фернандо Пелличчиони.

Шаги были:

-Используйте Qt MaintenanceTool, чтобы добавить поддержку для msvc2013

-Установите Visual Studio 2013

-В Qt Creator перейдите в Проекты-> Управление наборами и добавьте msvc2013

-Сборка и запуск. Теперь QAudioDecoder работает.

0
По вопросам рекламы [email protected]