在Windows系统上使用QMediaPlayer,并在Linux上编译代码
using QMediaPlayer on Windows system with code compiled on Linux
我的一个项目是用Qt5/c++编写的,使用QMediaPlayer类读取音频文件。只要我在Linux上运行这个项目,一切都很好。由于我想在Windows上运行我的程序,我使用MXE来编译我的代码,并为Windows系统创建一个二进制文件。
除了QMediaPlayer类的这个问题之外,这个程序看起来还可以。当程序在Windows系统上运行时,我读到以下消息:
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer".
通过谷歌搜索,我了解到QMediaPlayer使用了几个插件,每个平台上都不同。在Windows上,WMF插件是微软独有的,DirectShow似乎毫无用处;其他人建议使用其他外部插件,如portaudio、SdlAudio或OpenAI。
我该如何解决这个问题?
我发现了这个问题,知道如何解决它:根据这个线程,只需在.pro文件中添加以下行:
QTPLUGIN += dsengine qtmedia_audioengine
相关文章:
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- 如何创建一个空的全局类并在启动时实例化它
- 在两个类中共享相同的函数调用,并在不需要时避免空实例化
- 在函数内部的声明中初始化数组,并在外部使用它
- C++-我可以创建另一个类的成员并在构造函数中使用它吗
- 缓存std::数组的选定元素,并在c++中自动保持其一致性
- 定义C++新的环境变量并在 bat 文件中使用它
- Visual Studio 2017 停止工作,并在打开后显示许多控制台窗口
- 如何读取单个字符并在输入两个字符序列时输出? 使用 while 循环和C++
- 在 c++ 中模拟输入并在 JAVA 中读取它?
- 是否有必要获取锁并在不需要唤醒线程时通知condition_variable?
- 在RHEL 7上编译MySqlClient,并在RHEL 6上运行(Linux上的G )
- 在 Linux 上编译一个 c++ 应用程序,并在 TI TIVA TM4C123GH6PM上刷新它
- 文件不会将输出保存到文件中,并在 Linux C++奇怪地打印出一个字符串
- 如何在没有条件变量的情况下阻止线程中的操作,并在Linux中根据信号恢复操作
- 在 Windows 中对结构进行签名并在 Linux 中读取它
- 如何以编程方式启动程序并在 Linux 上使用 root 权限运行它
- C++在Mac OS X上编译代码,并在Linux x86上运行
- 在Windows系统上使用QMediaPlayer,并在Linux上编译代码
- 如何在windows PC上导出c++项目并在Linux PC上运行?