Changed default and white themes to show a speed camera warning image. Small fix...
[jspeed] / src / mediaplayer.cpp
index 3d09112..df6e99f 100644 (file)
@@ -18,6 +18,7 @@
 
 #include <QtCore/QUrl>
 #include <QtCore/QDir>
+#include <QMediaPlayer>
 #include <QMediaContent>
 #include "mediaplayer.h"
 #include "settings.h"
@@ -28,10 +29,15 @@ namespace
     QString const LOCAL_SOUND_DIR = ":/resources/sounds/";
 }
 
-QMediaPlayer MediaPlayer::player_;
+void MediaPlayer::init()
+{
+    getPlayer();
+}
 
 bool MediaPlayer::play(QString const& file)
 {
+    QMediaPlayer* player = getPlayer();
+
     QMediaContent media(QUrl::fromLocalFile(file));
 
     if(media.isNull())
@@ -39,11 +45,17 @@ bool MediaPlayer::play(QString const& file)
         return false;
     }
 
-    player_.setMedia(media);
-    player_.play();
+    player->setMedia(media);
+    player->play();
     return true;
 }
 
+QMediaPlayer* MediaPlayer::getPlayer()
+{
+    static QMediaPlayer player;
+    return &player;
+}
+
 void MediaPlayer::getSupportedFormats(QList<QString>& formats)
 {
     formats.clear();
@@ -66,6 +78,18 @@ QString MediaPlayer::getFormatPattern()
    return result.trimmed();
 }
 
+QStringList MediaPlayer::getFormatPatterns()
+{
+    QStringList result;
+
+    for(int i = 0; i < FORMAT_COUNT; i++)
+    {
+        result.push_back("*." + FORMATS[i]);
+    }
+
+    return result;
+}
+
 QString MediaPlayer::getSoundDir()
 {
     return Settings::getDir() + "sounds" + QDir::separator();