Мой проект написан с помощью 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