qt - QT5.10.1 找不到服务 - Window 上的“org.qt-project.qt.mediaplayer”
问题描述
我在 QML 上创建了一个视频,导入 QtMultimedia 5.8 来播放视频。它可以播放,但是当我在这个 QML 文件中导入一些 Qt3D 库时,它是错误的。
"error The system cannot find the file specified."
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
它只发生在调试模式 OS Window7
操作系统 window7中的发布模式是可以的。我在带有 gstreamer库的 Ubuntu 上试用它,它可以在 Debug 和 Release 上运行良好。
我gg,有文章说是因为媒体插件。从mingw53_32/plugins/mediaservice,有4个文件dsengine.dll/dsengined.dll和qtmedia_audioengine.dll/qtmedia_audioengined.dll。
这是QT的错误吗?
- -编辑 - - -
在我的项目中,我将 MediaPlayer 与一些 Scene3D 项目一起使用。它可以在 Release 模式下正常播放,但在 Debug 模式下不行。源代码类似:
import QtQuick 2.9
import QtQuick.Window 2.2
import QtMultimedia 5.9
import QtQuick.Scene3D 2.0
import Qt3D.Core 2.0 as Qt3D
import Qt3D.Render 2.10 as Qt3DR
import Qt3D.Extras 2.10 as Qt3DE
Item {
visible: true
width: 640
height: 480
// title: qsTr("Hello World")
// Item {
MediaPlayer {
id: mediaplayer
source: "qrc:/example.mp4"
autoPlay: true
}
VideoOutput {
anchors.fill: parent
source: mediaplayer
}
Scene3D{
id: sence1
}
Scene3D{
id: sence2
}
Scene3D{
id: sence3
}
Scene3D{
id: sence4
}
}
.pro 文件:
QT += quick 3dcore 3drender 3dinput 3dquick 3dextras 3dquickextras multimedia
CONFIG += c++11
- -更新 - - -
我发现当我使用 MinGW 编译器构建时会发生这种情况。当我换成MSVC2015编译器时,它可以很好地发挥作用。也许这些编译器中的库有什么不同?
解决方案
推荐阅读
- java - SpringBoot 无法创建基于 JSON 的类实例
- javascript - d3.scaleTime() 的无效日期
- python - python字典的AJAX发布导致JSONDecodeError
- c# - 将一个小的二维数组复制到一个较大的二维数组中,该数组的左侧和顶部都有一个缓冲区
- azure - 如何在 Azure 中定义私有子网
- java - java中的Jaspersoft子报表
- spring-boot - 在第二次保存时,先前保存的数据的外键在 Spring Boot 中更新为 null
- ggplot2 - Flexdashboard 无法在同一降价上呈现 ggplotly 和 ggplot 对象
- sql-server - 使用触发器跟踪购买计数
- c# - 背景颜色不与属性绑定