我在Linux Mint 13中使用QT 5.2.1中的Qt Quick Application项目,我想使用我的音频文件的相对路径,它位于我的项目文件夹的声音文件夹中。 这是我的
main.qml
import QtQuick 2.2
import QtQuick.Window 2.1
import QtMultimedia 5.0
Window {
visible: true
width: 360
height: 360
Audio{
id: sound
source: "sounds/1.mp3" //doesn't work
source: "file:../sounds/1.mp3" //also doesn't work
source: "file:/home/vlado/Qt projects/test521/sounds/1.mp3" //this works
}
MouseArea {
anchors.fill: parent
onClicked: {
sound.play()
}
}
Text {
text: qsTr("Play Sound")
anchors.centerIn: parent
}
}
不起作用意味着存在以下错误:
的GStreamer;无法播放 - “”错误:“没有设置URI”
正如你所看到的,一切正常,如果我使用绝对路径,但我想部署这个应用程序和安装文件夹然后会有所不同。这就是我想使用相对路径的原因。 这是我的
test521.pro
TEMPLATE = app
QT += qml quick
SOURCES += main.cpp
RESOURCES += qml.qrc
# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =
# Default rules for deployment.
include(deployment.pri)
这是
我的main.cpp
#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:///qml/main.qml")));
return app.exec();
}
如何设置相对路径而不是绝对路径?
修改:QML解决方案:how to specify image file path relative to application folder对我不起作用。