/** * \brief Set the media file * @param filePath as the media file path */ void UBMediaWidget::setFile(const QString &filePath) { Q_ASSERT("" != filePath); mFilePath = filePath; mpMediaObject = new Phonon::MediaObject(this); mpMediaObject->setTickInterval(TICK_INTERVAL); connect(mpMediaObject, SIGNAL(stateChanged(Phonon::State,Phonon::State)), this, SLOT(onStateChanged(Phonon::State,Phonon::State))); connect(mpMediaObject, SIGNAL(totalTimeChanged(qint64)), this, SLOT(onTotalTimeChanged(qint64))); connect(mpMediaObject, SIGNAL(tick(qint64)), this, SLOT(onTick(qint64))); mpMediaObject->setCurrentSource(Phonon::MediaSource(filePath)); createMediaPlayer(); }
Audio::Audio(QDeclarativeItem* parent) : QDeclarativeItem(parent) , m_isPreview(false) , m_isReady(false) { m_mediaObject = Phonon::createPlayer(Phonon::MusicCategory); m_mediaObject->setTickInterval(1000); QObject::connect(m_mediaObject, SIGNAL(tick(qint64)), SLOT(onTicked(qint64))); QObject::connect(m_mediaObject, SIGNAL(totalTimeChanged(qint64)), SLOT(onTotalTimeChanged(qint64))); QObject::connect(m_mediaObject, SIGNAL(finished()), SLOT(onFinished())); QObject::connect(m_mediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)), SLOT(stateChanged(Phonon::State, Phonon::State))); }
void PlayerController::createPlayer() { m_mediaObject = new Phonon::MediaObject(this); m_audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this); m_audioPath = Phonon::createPath(m_mediaObject, m_audioOutput); m_mediaObject->setTickInterval(1000); connect(m_mediaObject, SIGNAL(aboutToFinish()), SLOT(onAboutToFinish())); connect(m_mediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)), SLOT(onStateChanged(Phonon::State))); connect(m_mediaObject, SIGNAL(tick(qint64)), SLOT(onTick(qint64))); connect(m_mediaObject, SIGNAL(totalTimeChanged(qint64)), SLOT(onTotalTimeChanged(qint64))); }
void PlayerController::initializeView() { if (!m_view) return; // Initialize data from model if (m_songsAvailable) { m_view->setTitle(m_model->titleAt(m_currentSong)); m_view->setArtist(m_model->artistAt(m_currentSong)); } else { m_view->setTitle(""); m_view->setArtist(""); } // Initialize data from controller onTotalTimeChanged(m_mediaObject->totalTime()); onTick(m_mediaObject->currentTime()); onStateChanged(m_mediaObject->state()); m_view->setVolume((m_audioOutput->volumeDecibel() + 35) / 35); m_view->setMuted(m_audioOutput->isMuted()); m_view->setShuffle(m_shuffle); m_view->setRepeat(m_repeat); m_view->setPlaylistModel(m_playlistModel); }