использование QMediaPlayer в системе Windows с кодом, скомпилированным в Linux

0

Мой проект написан с помощью Qt5/c++, используя класс QMediaPlayer для чтения аудиофайлов. Все нормально, пока я запускаю этот проект в Linux. Поскольку я хочу запустить свою программу в Windows, я использую MXE для компиляции моего кода и создания двоичного файла для систем Windows.

Программа выглядит нормально, за исключением этой проблемы с классом QMediaPlayer. Когда программа запускается в системе Windows, я читаю это сообщение:

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

Поглядывая по сторонам, я понял, что QMediaPlayer использовал несколько плагинов, разных на каждой платформе. В Windows плагин WMF доступен только для Microsoft, DirectShow кажется бесполезным; другие предлагают использовать другие внешние плагины, такие как portaudio, SdlAudio ou OpenAI.

Как я могу решить эту проблему?

Теги:
qt
mxe

1 ответ

1
Лучший ответ

Я нашел проблему и знаю, как ее исправить: в соответствии с этим потоком просто добавьте следующую строку в ваш файл.pro:

QTPLUGIN += dsengine qtmedia_audioengine

Ещё вопросы

Сообщество Overcoder
Наверх
Меню