Adding cover in player

This commit is contained in:
emeric
2018-03-27 13:55:04 +02:00
parent 9fb5c4e8ee
commit f011f0a7e5
2 changed files with 8 additions and 1 deletions
+5
View File
@@ -49,6 +49,10 @@ LMS.mediaplayer = function () {
_elems.release = document.getElementById("lms-mp-release"); _elems.release = document.getElementById("lms-mp-release");
_elems.duration = document.getElementById("lms-mp-duration"); _elems.duration = document.getElementById("lms-mp-duration");
_elems.time = document.getElementById("lms-mp-time"); _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.play.addEventListener("click", function() {
_elems.audio.play(); _elems.audio.play();
@@ -89,6 +93,7 @@ LMS.mediaplayer = function () {
_elems.audio.src = params.resource; _elems.audio.src = params.resource;
_elems.duration.innerHTML = _durationToString(_duration, _duration > 3600); _elems.duration.innerHTML = _durationToString(_duration, _duration > 3600);
_elems.time.innerHTML = _durationToString(0, _duration > 3600) _elems.time.innerHTML = _durationToString(0, _duration > 3600)
_elems.cover.src = params.imgResource;
if (autoplay) if (autoplay)
_elems.audio.play(); _elems.audio.play();
+3 -1
View File
@@ -21,6 +21,7 @@
#include "av/AvInfo.hpp" #include "av/AvInfo.hpp"
#include "utils/Logger.hpp" #include "utils/Logger.hpp"
#include "resource/ImageResource.hpp"
#include "resource/TranscodeResource.hpp" #include "resource/TranscodeResource.hpp"
#include "LmsApplication.hpp" #include "LmsApplication.hpp"
@@ -51,12 +52,12 @@ MediaPlayer::playTrack(Database::Track::id_type trackId)
Wt::Dbo::Transaction transaction(DboSession()); Wt::Dbo::Transaction transaction(DboSession());
auto track = Database::Track::getById(DboSession(), trackId); auto track = Database::Track::getById(DboSession(), trackId);
// Analyse track, select the best media stream
try try
{ {
Av::MediaFile mediaFile(track->getPath()); Av::MediaFile mediaFile(track->getPath());
auto resource = LmsApp->getTranscodeResource()->getUrl(trackId, Av::Encoding::MP3, boost::posix_time::seconds(0)); auto resource = LmsApp->getTranscodeResource()->getUrl(trackId, Av::Encoding::MP3, boost::posix_time::seconds(0));
auto imgResource = LmsApp->getImageResource()->getTrackUrl(trackId, 64);
std::ostringstream oss; std::ostringstream oss;
oss oss
@@ -66,6 +67,7 @@ MediaPlayer::playTrack(Database::Track::id_type trackId)
<< " artist: " << (track->getArtist() ? "\"" + escape(track->getArtist()->getName()) + "\"" : "undefined" ) << "," << " artist: " << (track->getArtist() ? "\"" + escape(track->getArtist()->getName()) + "\"" : "undefined" ) << ","
<< " resource: \"" << resource << "\"," << " resource: \"" << resource << "\","
<< " duration: " << track->getDuration().total_seconds() << "," << " duration: " << track->getDuration().total_seconds() << ","
<< " imgResource: \"" << imgResource << "\","
<< "};"; << "};";
oss << "LMS.mediaplayer.loadTrack(params, true)"; // true to autoplay oss << "LMS.mediaplayer.loadTrack(params, true)"; // true to autoplay