在Windows系统上使用QMediaPlayer,在Linux上编译代码

时间:2014-08-26 13:48:01

标签: c++ linux windows qt mxe

我的project用Qt5 / c ++编写,使用QMediaPlayer类读取音频文件。只要我在Linux上运行这个项目,一切都还可以。 由于我想在Windows上运行我的程序,我使用MXE来编译我的代码并为Windows系统创建一个二进制文件。

该程序似乎没问题,除了QMediaPlayer类的这个问题。当程序在Windows系统上运行时,我读到了这条消息:

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

通过谷歌搜索,我开始明白QMediaPlayer使用several plugins,在每个平台上都不同。在Windows上,WMF插件仅限微软,DirectShow似乎毫无用处;其他suggest使用其他外部插件,如portaudio,SdlAudio ou OpenAI。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我发现问题并知道如何修复它:according to this thread,只需将以下行添加到.pro文件中:

QTPLUGIN += dsengine qtmedia_audioengine