Adding cover in player
This commit is contained in:
@@ -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();
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user