我在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 中发生
OS窗口7中的发布模式是可以的。我在 Ubuntu和gstreamer 库上试用它,它可以在Debug& amp;释放。
我gg,有些文章说这是因为Media插件。从mingw53_32 / plugins / mediaservice,有4个文件dsengine.dll / dsengined.dll和qtmedia_audioengine.dll / qtmedia_audioengined.dll。
这是QT的错误吗?
--- ------ EDIT
我是我的项目,我使用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编译器时,它可以很好地发挥作用。也许这些编译器中的库有不同之处?