2014-04-01 72 views
2

我正在嘗試使用QAudioDecoder類來解碼.wav文件。儘管我已將QtMultimedia模塊包含到我的.pro文件中,但添加了 QT += multimedia我收到錯誤消息,未找到QAudioDecoder的服務。我無法看到問題所在。QAudioDecoder - 未找到服務

我使用Qt 5.1.0與MingGW 4.8 32位的Windows 7

錯誤消息:

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

的.pro文件:

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(); 
} 

回答

0

我在Qt5.5 Linux下運行同樣的問題。 使用其MaintenanceTool升級到Qt5.5.1後,問題消失。

0

我也在努力解決這個問題,並最終通過在QT Creator中使用MS visual studio編譯器來工作,就像Fernando Pelliccioni建議的那樣。

步驟是:

- 使用Qt的MaintenanceTool添加支持msvc2013

-Install的Visual Studio 2013

- 在Qt Creator中去項目 - >管理工具包,並添加msvc2013

- 建立並運行。現在QAudioDecoder工作。