summaryrefslogtreecommitdiffstats
path: root/src/plugins/android/src/mediaplayer/qandroidmediaplayercontrol.cpp
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2013-12-16 15:36:55 +0100
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2013-12-16 15:36:56 +0100
commit967e0eb22f8e85db185d093b95da57e3ec41e7cc (patch)
treefda0a86c20dfde5681a07df5a0b2a71f7438818c /src/plugins/android/src/mediaplayer/qandroidmediaplayercontrol.cpp
parent75e5708832ce31a7edd4f4c1eb15f5b5f3d72c14 (diff)
parentecce937a054e4a96597cb13c40d216bddbd45891 (diff)
Merge remote-tracking branch 'origin/stable' into dev
Diffstat (limited to 'src/plugins/android/src/mediaplayer/qandroidmediaplayercontrol.cpp')
-rw-r--r--src/plugins/android/src/mediaplayer/qandroidmediaplayercontrol.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/plugins/android/src/mediaplayer/qandroidmediaplayercontrol.cpp b/src/plugins/android/src/mediaplayer/qandroidmediaplayercontrol.cpp
index 54c04e5c9..ce73263d3 100644
--- a/src/plugins/android/src/mediaplayer/qandroidmediaplayercontrol.cpp
+++ b/src/plugins/android/src/mediaplayer/qandroidmediaplayercontrol.cpp
@@ -218,10 +218,19 @@ void QAndroidMediaPlayerControl::setMedia(const QMediaContent &mediaContent,
return;
}
- const QString uri = mediaContent.canonicalUrl().toString();
+ const QUrl url = mediaContent.canonicalUrl();
+ QString mediaPath;
+ if (url.scheme() == QLatin1String("qrc")) {
+ const QString path = url.toString().mid(3);
+ mTempFile.reset(QTemporaryFile::createNativeFile(path));
+ if (!mTempFile.isNull())
+ mediaPath = QLatin1String("file://") + mTempFile->fileName();
+ } else {
+ mediaPath = url.toString();
+ }
- if (!uri.isEmpty())
- mMediaPlayer->setDataSource(uri);
+ if (!mediaPath.isEmpty())
+ mMediaPlayer->setDataSource(mediaPath);
else
setMediaStatus(QMediaPlayer::NoMedia);