diff --git a/plugins/multimedia/directshow/player/directshowmetadatacontrol.cpp b/plugins/multimedia/directshow/player/directshowmetadatacontrol.cpp
diff --git a/plugins/multimedia/directshow/player/directshowplayerservice.cpp b/plugins/multimedia/directshow/player/directshowplayerservice.cpp
index 599a202..b5d0864 100644
--- a/plugins/multimedia/directshow/player/directshowplayerservice.cpp
+++ b/plugins/multimedia/directshow/player/directshowplayerservice.cpp
@@ -256,7 +256,9 @@ void DirectShowPlayerService::doSetUrlSource(QMutexLocker *locker)
 
     HRESULT hr = E_FAIL;
 
-    if (url.scheme() == QLatin1String("http") || url.scheme() == QLatin1String("https")) {
+    if (url.scheme() == QLatin1String("http")
+            || url.scheme() == QLatin1String("https")
+            || url.path().endsWith(QLatin1String(".mp3"), Qt::CaseInsensitive)) {
         static const GUID clsid_WMAsfReader = {
             0x187463a0, 0x5bb7, 0x11d3, {0xac, 0xbe, 0x00, 0x80, 0xc7, 0x5e, 0x24, 0x6e} };
 
