diff --git a/docroot/js/mediaplayer.js b/docroot/js/mediaplayer.js index 9cc250e6..be11d707 100644 --- a/docroot/js/mediaplayer.js +++ b/docroot/js/mediaplayer.js @@ -49,6 +49,10 @@ LMS.mediaplayer = function () { _elems.release = document.getElementById("lms-mp-release"); _elems.duration = document.getElementById("lms-mp-duration"); _elems.time = document.getElementById("lms-mp-time"); + // Hack cannot add a img element into the template + // since a /img is considered missing! + _elems.cover = document.createElement("img"); + root.appendChild(_elems.cover); _elems.play.addEventListener("click", function() { _elems.audio.play(); @@ -89,6 +93,7 @@ LMS.mediaplayer = function () { _elems.audio.src = params.resource; _elems.duration.innerHTML = _durationToString(_duration, _duration > 3600); _elems.time.innerHTML = _durationToString(0, _duration > 3600) + _elems.cover.src = params.imgResource; if (autoplay) _elems.audio.play(); diff --git a/src/ui/MediaPlayer.cpp b/src/ui/MediaPlayer.cpp index 62423135..7c9921e8 100644 --- a/src/ui/MediaPlayer.cpp +++ b/src/ui/MediaPlayer.cpp @@ -21,6 +21,7 @@ #include "av/AvInfo.hpp" #include "utils/Logger.hpp" +#include "resource/ImageResource.hpp" #include "resource/TranscodeResource.hpp" #include "LmsApplication.hpp" @@ -51,12 +52,12 @@ MediaPlayer::playTrack(Database::Track::id_type trackId) Wt::Dbo::Transaction transaction(DboSession()); auto track = Database::Track::getById(DboSession(), trackId); - // Analyse track, select the best media stream try { Av::MediaFile mediaFile(track->getPath()); auto resource = LmsApp->getTranscodeResource()->getUrl(trackId, Av::Encoding::MP3, boost::posix_time::seconds(0)); + auto imgResource = LmsApp->getImageResource()->getTrackUrl(trackId, 64); std::ostringstream oss; oss @@ -66,6 +67,7 @@ MediaPlayer::playTrack(Database::Track::id_type trackId) << " artist: " << (track->getArtist() ? "\"" + escape(track->getArtist()->getName()) + "\"" : "undefined" ) << "," << " resource: \"" << resource << "\"," << " duration: " << track->getDuration().total_seconds() << "," + << " imgResource: \"" << imgResource << "\"," << "};"; oss << "LMS.mediaplayer.loadTrack(params, true)"; // true to autoplay