проект мой написан с использованием 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.
Как я могу решить эту проблему?
Я нашел проблему и знаю, как ее исправить: по этой теме, просто добавьте следующую строку в ваш .pro файл:
QTPLUGIN += dsengine qtmedia_audioengine