[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [phonon/five] demos/simpleplayer: Quickly port the simpleplayer demo to Phonon5
From: Casian Andrei <skeletk13 () gmail ! com>
Date: 2014-07-02 13:13:50
Message-ID: E1X2KMA-0003rz-0L () scm ! kde ! org
[Download RAW message or body]
Git commit beba299b4354209d74f7d95f84a3ad763cd8ecfe by Casian Andrei.
Committed on 02/07/2014 at 11:11.
Pushed by casianandrei into branch 'five'.
Quickly port the simpleplayer demo to Phonon5
M +1 -1 demos/simpleplayer/CMakeLists.txt
M +19 -30 demos/simpleplayer/player.cpp
M +4 -3 demos/simpleplayer/player.h
http://commits.kde.org/phonon/beba299b4354209d74f7d95f84a3ad763cd8ecfe
diff --git a/demos/simpleplayer/CMakeLists.txt b/demos/simpleplayer/CMakeLists.txt
index 4a7cf54..ff54708 100644
--- a/demos/simpleplayer/CMakeLists.txt
+++ b/demos/simpleplayer/CMakeLists.txt
@@ -17,4 +17,4 @@ set(simpleplayer_SRCS
add_executable(simpleplayer ${simpleplayer_SRCS})
qt5_use_modules(simpleplayer Core Widgets)
-target_link_libraries(simpleplayer ${PHONON_LIBRARY})
+target_link_libraries(simpleplayer ${PHONON_LIBRARIES})
diff --git a/demos/simpleplayer/player.cpp b/demos/simpleplayer/player.cpp
index 5e51241..8547a58 100644
--- a/demos/simpleplayer/player.cpp
+++ b/demos/simpleplayer/player.cpp
@@ -26,20 +26,15 @@
#include <QPushButton>
#include <QVBoxLayout>
-#include <phonon/AudioOutput>
-#include <phonon/MediaObject>
-#include <phonon/SeekSlider>
-#include <phonon/VideoWidget>
+#include <phonon/audiooutput.h>
+#include <phonon/player.h>
+#include <phonon/seekslider.h>
+#include <phonon/videowidget.h>
Player::Player(QWidget* parent, Qt::WindowFlags flags)
: QWidget(parent, flags)
{
- m_media = new Phonon::MediaObject(this);
-
- //Some platforms (i.e. Linux) provide a mechanism for a user to view a \
system-wide
- //history of content interactions. This is opt-in, and done via setting the
- //PlaybackTracking property to true.
- m_media->setProperty("PlaybackTracking", true);
+ m_player = new Phonon::Player(this);
Phonon::AudioOutput* audioOut = new Phonon::AudioOutput(Phonon::VideoCategory, \
this); Phonon::VideoWidget* videoOut = new Phonon::VideoWidget(this);
@@ -53,7 +48,7 @@ Player::Player(QWidget* parent, Qt::WindowFlags flags)
//After a MediaSource is loaded, this signal will be emitted to let us know
//if a video stream was found.
- connect(m_media, SIGNAL(hasVideoChanged(bool)), videoOut, \
SLOT(setVisible(bool))); + connect(m_player, SIGNAL(hasVideoChanged(bool)), \
videoOut, SLOT(setVisible(bool)));
//This widget will contain the stop/pause buttons
QWidget *buttonBar = new QWidget(this);
@@ -61,12 +56,13 @@ Player::Player(QWidget* parent, Qt::WindowFlags flags)
m_playPause = new QPushButton(tr("Play"), buttonBar);
m_stop = new QPushButton(tr("Stop"), buttonBar);
- Phonon::SeekSlider *seekSlider = new Phonon::SeekSlider(this);
- seekSlider->setMediaObject(m_media);
+ // FIXME seek slider
+// Phonon::SeekSlider *seekSlider = new Phonon::SeekSlider(this);
+// seekSlider->setMediaObject(m_player);
QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(videoOut);
- layout->addWidget(seekSlider);
+// layout->addWidget(seekSlider);
layout->addWidget(buttonBar);
setLayout(layout);
@@ -77,32 +73,32 @@ Player::Player(QWidget* parent, Qt::WindowFlags flags)
m_stop->setEnabled(false);
- connect(m_stop, SIGNAL(clicked(bool)), m_media, SLOT(stop()));
+ connect(m_stop, SIGNAL(clicked(bool)), m_player, SLOT(stop()));
connect(m_playPause, SIGNAL(clicked(bool)), this, SLOT(playPause()));
//The mediaStateChanged slot will update the GUI elements to reflect what
//the user can do next
- connect(m_media, SIGNAL(stateChanged(Phonon::State, Phonon::State)), this, \
SLOT(mediaStateChanged(Phonon::State, Phonon::State))); + connect(m_player, \
SIGNAL(stateChanged(Phonon::State, Phonon::State)), this, \
SLOT(mediaStateChanged(Phonon::State, Phonon::State))); }
void Player::playPause()
{
- if (m_media->state() == Phonon::PlayingState) {
- m_media->pause();
+ if (m_player->state() == Phonon::PlayingState) {
+ m_player->pause();
} else {
- if (m_media->currentSource().type() == Phonon::MediaSource::Empty)
+ if (m_player->source().deviceType() == Phonon::Source::NoDevice)
load();
- m_media->play();
+ m_player->play();
}
}
void Player::load(const QUrl &mrl)
{
if (mrl.scheme().isEmpty())
- m_media->setCurrentSource(QUrl::fromLocalFile(mrl.toString()));
+ m_player->setSource(QUrl::fromLocalFile(mrl.toString()));
else
- m_media->setCurrentSource(mrl);
- m_media->play();
+ m_player->setSource(mrl);
+ m_player->play();
}
void Player::load()
@@ -117,8 +113,6 @@ void Player::mediaStateChanged(Phonon::State newState, \
Phonon::State oldState) {
Q_UNUSED(oldState);
switch(newState) {
- case Phonon::LoadingState:
- break;
case Phonon::StoppedState:
m_playPause->setText(tr("Play"));
m_stop->setEnabled(false);
@@ -127,13 +121,8 @@ void Player::mediaStateChanged(Phonon::State newState, \
Phonon::State oldState) m_playPause->setText(tr("Pause"));
m_stop->setEnabled(true);
break;
- case Phonon::BufferingState:
- break;
case Phonon::PausedState:
m_playPause->setText(tr("Play"));
break;
- case Phonon::ErrorState:
- QMessageBox::critical(this, tr("Error"), tr("Error while playing media: ") + \
m_media->errorString());
- break;
}
}
diff --git a/demos/simpleplayer/player.h b/demos/simpleplayer/player.h
index 2235f9e..d032d46 100644
--- a/demos/simpleplayer/player.h
+++ b/demos/simpleplayer/player.h
@@ -21,13 +21,14 @@
#ifndef PLAYER_H
#define PLAYER_H
+#include <phonon/phononglobal.h>
+
#include <QWidget>
#include <QUrl>
-#include <phonon/Global>
class QPushButton;
namespace Phonon {
- class MediaObject;
+ class Player;
class Mrl;
}
@@ -66,7 +67,7 @@ private slots:
void playPause();
private:
- Phonon::MediaObject *m_media;
+ Phonon::Player *m_player;
QPushButton *m_playPause;
QPushButton *m_stop;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic