From c0229d3108e101d01d997994d478b866c583a3e1 Mon Sep 17 00:00:00 2001 From: Ruben Garcalia <92950852+rubeneitor21@users.noreply.github.com> Date: Wed, 12 Aug 2026 02:01:22 +0200 Subject: [PATCH] Un par de fallos --- lib/playlist-controller.hpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/playlist-controller.hpp b/lib/playlist-controller.hpp index 32b8fb0..ef86ac3 100644 --- a/lib/playlist-controller.hpp +++ b/lib/playlist-controller.hpp @@ -109,9 +109,9 @@ public: Q_INVOKABLE void prepareNext(const QUrl &url) { // Desplegar hilo que descargue y gestione el mediaplayer - Logger::info(url.toString().toStdString()); + Logger::info("Loading: " + url.toString().toStdString()); m_nextPlayer->setSource(url); - + // Para que se quede listo m_nextPlayer->play(); m_nextPlayer->pause(); @@ -119,6 +119,8 @@ public: } Q_INVOKABLE void swapAndPlay() { + m_activePlayer->stop(); + std::swap(m_activePlayer, m_nextPlayer); m_activePlayer->play(); @@ -149,8 +151,10 @@ public: int n_ele = m_queue.size(); m_queue.push_back(url); - if (m_nextPlayer->source() == QUrl()) { - prepareNext(m_queue.at(m_queue_index)); + + if (!m_playing) { + m_playing = true; + prepareNext(QUrl::fromLocalFile(m_queue.at(m_queue_index))); } } @@ -160,7 +164,7 @@ public: m_activePlayer->pause(); else m_activePlayer->play(); - + emit playingStateChanged(); } @@ -200,9 +204,6 @@ private: case QMediaPlayer::BufferedMedia: Logger::info("Media fully buffered"); - if (!isActive) { - Logger::info("Next media fully buffered"); - } break; case QMediaPlayer::EndOfMedia: @@ -211,6 +212,9 @@ private: m_queue_index++; swapAndPlay(); } + else { + m_playing = false; + } } break;