summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-04-13 12:52:28 +0200
committerLars Knoll <lars.knoll@qt.io>2021-04-16 11:00:45 +0000
commit516fcd10d203fb02eb067b3911fcbf507693059b (patch)
tree878a62daf54d4a1783b43385aa22e970a4492f67 /examples
parentb8bf956c9358c9a597091c366ac05ec71e4e2289 (diff)
API cleanups in QMediaPlayer
Rename some methods with better names and adjust the API so that it also can be used for QML. Change-Id: Ica19675966680416fbe870808336d8fc82065bc1 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
Diffstat (limited to 'examples')
-rw-r--r--examples/multimediawidgets/player/player.cpp22
-rw-r--r--examples/multimediawidgets/player/player.h2
-rw-r--r--examples/multimediawidgets/player/playercontrols.cpp4
-rw-r--r--examples/multimediawidgets/player/playercontrols.h6
-rw-r--r--examples/multimediawidgets/videographicsitem/videoplayer.cpp8
-rw-r--r--examples/multimediawidgets/videographicsitem/videoplayer.h2
-rw-r--r--examples/multimediawidgets/videowidget/videoplayer.cpp13
-rw-r--r--examples/multimediawidgets/videowidget/videoplayer.h2
8 files changed, 32 insertions, 27 deletions
diff --git a/examples/multimediawidgets/player/player.cpp b/examples/multimediawidgets/player/player.cpp
index f0c48cd18..0afa721a1 100644
--- a/examples/multimediawidgets/player/player.cpp
+++ b/examples/multimediawidgets/player/player.cpp
@@ -87,10 +87,10 @@ Player::Player(QWidget *parent)
connect(m_player, QOverload<>::of(&QMediaPlayer::metaDataChanged), this, &Player::metaDataChanged);
connect(m_playlist, &QMediaPlaylist::currentIndexChanged, this, &Player::playlistPositionChanged);
connect(m_player, &QMediaPlayer::mediaStatusChanged, this, &Player::statusChanged);
- connect(m_player, &QMediaPlayer::bufferStatusChanged, this, &Player::bufferingProgress);
- connect(m_player, &QMediaPlayer::videoAvailableChanged, this, &Player::videoAvailableChanged);
- connect(m_player, QOverload<QMediaPlayer::Error>::of(&QMediaPlayer::error), this, &Player::displayErrorMessage);
- connect(m_player, &QMediaPlayer::stateChanged, this, &Player::stateChanged);
+ connect(m_player, &QMediaPlayer::bufferProgressChanged, this, &Player::bufferingProgress);
+ connect(m_player, &QMediaPlayer::hasVideoChanged, this, &Player::videoAvailableChanged);
+ connect(m_player, &QMediaPlayer::errorChanged, this, &Player::displayErrorMessage);
+ connect(m_player, &QMediaPlayer::playbackStateChanged, this, &Player::stateChanged);
connect(m_player, &QMediaPlayer::tracksChanged, this, &Player::tracksChanged);
m_playlistView = new QListView(this);
@@ -164,7 +164,7 @@ Player::Player(QWidget *parent)
connect(openButton, &QPushButton::clicked, this, &Player::open);
PlayerControls *controls = new PlayerControls(this);
- controls->setState(m_player->state());
+ controls->setState(m_player->playbackState());
controls->setVolume(m_player->volume());
controls->setMuted(controls->isMuted());
@@ -178,7 +178,7 @@ Player::Player(QWidget *parent)
connect(controls, &PlayerControls::changeRate, m_player, &QMediaPlayer::setPlaybackRate);
connect(controls, &PlayerControls::stop, m_videoWidget, QOverload<>::of(&QVideoWidget::update));
- connect(m_player, &QMediaPlayer::stateChanged, controls, &PlayerControls::setState);
+ connect(m_player, &QMediaPlayer::playbackStateChanged, controls, &PlayerControls::setState);
connect(m_player, &QMediaPlayer::volumeChanged, controls, &PlayerControls::setVolume);
connect(m_player, &QMediaPlayer::mutedChanged, controls, &PlayerControls::setMuted);
@@ -381,7 +381,7 @@ void Player::playlistPositionChanged(int currentItem)
{
clearHistogram();
m_playlistView->setCurrentIndex(m_playlistModel->index(currentItem, 0));
- m_player->setMedia(m_playlist->currentMedia());
+ m_player->setSource(m_playlist->currentMedia());
}
void Player::seek(int seconds)
@@ -405,10 +405,10 @@ void Player::statusChanged(QMediaPlayer::MediaStatus status)
break;
case QMediaPlayer::BufferingMedia:
case QMediaPlayer::BufferedMedia:
- setStatusInfo(tr("Buffering %1%").arg(m_player->bufferStatus()));
+ setStatusInfo(tr("Buffering %1%").arg(m_player->bufferProgress()));
break;
case QMediaPlayer::StalledMedia:
- setStatusInfo(tr("Stalled %1%").arg(m_player->bufferStatus()));
+ setStatusInfo(tr("Stalled %1%").arg(m_player->bufferProgress()));
break;
case QMediaPlayer::EndOfMedia:
QApplication::alert(this);
@@ -420,7 +420,7 @@ void Player::statusChanged(QMediaPlayer::MediaStatus status)
}
}
-void Player::stateChanged(QMediaPlayer::State state)
+void Player::stateChanged(QMediaPlayer::PlaybackState state)
{
if (state == QMediaPlayer::StoppedState)
clearHistogram();
@@ -512,6 +512,8 @@ void Player::setStatusInfo(const QString &info)
void Player::displayErrorMessage()
{
+ if (m_player->error() == QMediaPlayer::NoError)
+ return;
setStatusInfo(m_player->errorString());
}
diff --git a/examples/multimediawidgets/player/player.h b/examples/multimediawidgets/player/player.h
index 9ccecb891..4294e909a 100644
--- a/examples/multimediawidgets/player/player.h
+++ b/examples/multimediawidgets/player/player.h
@@ -100,7 +100,7 @@ private slots:
void playlistPositionChanged(int);
void statusChanged(QMediaPlayer::MediaStatus status);
- void stateChanged(QMediaPlayer::State state);
+ void stateChanged(QMediaPlayer::PlaybackState state);
void bufferingProgress(int progress);
void videoAvailableChanged(bool available);
diff --git a/examples/multimediawidgets/player/playercontrols.cpp b/examples/multimediawidgets/player/playercontrols.cpp
index 3c06c01c6..671c7eaf1 100644
--- a/examples/multimediawidgets/player/playercontrols.cpp
+++ b/examples/multimediawidgets/player/playercontrols.cpp
@@ -111,12 +111,12 @@ PlayerControls::PlayerControls(QWidget *parent)
setLayout(layout);
}
-QMediaPlayer::State PlayerControls::state() const
+QMediaPlayer::PlaybackState PlayerControls::state() const
{
return m_playerState;
}
-void PlayerControls::setState(QMediaPlayer::State state)
+void PlayerControls::setState(QMediaPlayer::PlaybackState state)
{
if (state != m_playerState) {
m_playerState = state;
diff --git a/examples/multimediawidgets/player/playercontrols.h b/examples/multimediawidgets/player/playercontrols.h
index bf1f676c1..3021e4859 100644
--- a/examples/multimediawidgets/player/playercontrols.h
+++ b/examples/multimediawidgets/player/playercontrols.h
@@ -67,13 +67,13 @@ class PlayerControls : public QWidget
public:
explicit PlayerControls(QWidget *parent = nullptr);
- QMediaPlayer::State state() const;
+ QMediaPlayer::PlaybackState state() const;
int volume() const;
bool isMuted() const;
qreal playbackRate() const;
public slots:
- void setState(QMediaPlayer::State state);
+ void setState(QMediaPlayer::PlaybackState state);
void setVolume(int volume);
void setMuted(bool muted);
void setPlaybackRate(float rate);
@@ -95,7 +95,7 @@ private slots:
void onVolumeSliderValueChanged();
private:
- QMediaPlayer::State m_playerState = QMediaPlayer::StoppedState;
+ QMediaPlayer::PlaybackState m_playerState = QMediaPlayer::StoppedState;
bool m_playerMuted = false;
QAbstractButton *m_playButton = nullptr;
QAbstractButton *m_stopButton = nullptr;
diff --git a/examples/multimediawidgets/videographicsitem/videoplayer.cpp b/examples/multimediawidgets/videographicsitem/videoplayer.cpp
index d0f5129c9..2f76f2be3 100644
--- a/examples/multimediawidgets/videographicsitem/videoplayer.cpp
+++ b/examples/multimediawidgets/videographicsitem/videoplayer.cpp
@@ -101,7 +101,7 @@ VideoPlayer::VideoPlayer(QWidget *parent)
layout->addLayout(controlLayout);
m_mediaPlayer->setVideoOutput(m_videoItem);
- connect(m_mediaPlayer, &QMediaPlayer::stateChanged,
+ connect(m_mediaPlayer, &QMediaPlayer::playbackStateChanged,
this, &VideoPlayer::mediaStateChanged);
connect(m_mediaPlayer, &QMediaPlayer::positionChanged, this, &VideoPlayer::positionChanged);
connect(m_mediaPlayer, &QMediaPlayer::durationChanged, this, &VideoPlayer::durationChanged);
@@ -133,13 +133,13 @@ void VideoPlayer::openFile()
void VideoPlayer::load(const QUrl &url)
{
- m_mediaPlayer->setMedia(url);
+ m_mediaPlayer->setSource(url);
m_playButton->setEnabled(true);
}
void VideoPlayer::play()
{
- switch (m_mediaPlayer->state()) {
+ switch (m_mediaPlayer->playbackState()) {
case QMediaPlayer::PlayingState:
m_mediaPlayer->pause();
break;
@@ -149,7 +149,7 @@ void VideoPlayer::play()
}
}
-void VideoPlayer::mediaStateChanged(QMediaPlayer::State state)
+void VideoPlayer::mediaStateChanged(QMediaPlayer::PlaybackState state)
{
switch(state) {
case QMediaPlayer::PlayingState:
diff --git a/examples/multimediawidgets/videographicsitem/videoplayer.h b/examples/multimediawidgets/videographicsitem/videoplayer.h
index 87c20c804..9f01e8790 100644
--- a/examples/multimediawidgets/videographicsitem/videoplayer.h
+++ b/examples/multimediawidgets/videographicsitem/videoplayer.h
@@ -78,7 +78,7 @@ public slots:
void play();
private slots:
- void mediaStateChanged(QMediaPlayer::State state);
+ void mediaStateChanged(QMediaPlayer::PlaybackState state);
void positionChanged(qint64 position);
void durationChanged(qint64 duration);
void setPosition(int position);
diff --git a/examples/multimediawidgets/videowidget/videoplayer.cpp b/examples/multimediawidgets/videowidget/videoplayer.cpp
index 4ac868730..ded52499c 100644
--- a/examples/multimediawidgets/videowidget/videoplayer.cpp
+++ b/examples/multimediawidgets/videowidget/videoplayer.cpp
@@ -92,11 +92,11 @@ VideoPlayer::VideoPlayer(QWidget *parent)
setLayout(layout);
m_mediaPlayer->setVideoOutput(videoWidget);
- connect(m_mediaPlayer, &QMediaPlayer::stateChanged,
+ connect(m_mediaPlayer, &QMediaPlayer::playbackStateChanged,
this, &VideoPlayer::mediaStateChanged);
connect(m_mediaPlayer, &QMediaPlayer::positionChanged, this, &VideoPlayer::positionChanged);
connect(m_mediaPlayer, &QMediaPlayer::durationChanged, this, &VideoPlayer::durationChanged);
- connect(m_mediaPlayer, QOverload<QMediaPlayer::Error>::of(&QMediaPlayer::error),
+ connect(m_mediaPlayer, &QMediaPlayer::errorChanged,
this, &VideoPlayer::handleError);
}
@@ -118,13 +118,13 @@ void VideoPlayer::setUrl(const QUrl &url)
{
m_errorLabel->setText(QString());
setWindowFilePath(url.isLocalFile() ? url.toLocalFile() : QString());
- m_mediaPlayer->setMedia(url);
+ m_mediaPlayer->setSource(url);
m_playButton->setEnabled(true);
}
void VideoPlayer::play()
{
- switch (m_mediaPlayer->state()) {
+ switch (m_mediaPlayer->playbackState()) {
case QMediaPlayer::PlayingState:
m_mediaPlayer->pause();
break;
@@ -134,7 +134,7 @@ void VideoPlayer::play()
}
}
-void VideoPlayer::mediaStateChanged(QMediaPlayer::State state)
+void VideoPlayer::mediaStateChanged(QMediaPlayer::PlaybackState state)
{
switch(state) {
case QMediaPlayer::PlayingState:
@@ -163,6 +163,9 @@ void VideoPlayer::setPosition(int position)
void VideoPlayer::handleError()
{
+ if (m_mediaPlayer->error() == QMediaPlayer::NoError)
+ return;
+
m_playButton->setEnabled(false);
const QString errorString = m_mediaPlayer->errorString();
QString message = "Error: ";
diff --git a/examples/multimediawidgets/videowidget/videoplayer.h b/examples/multimediawidgets/videowidget/videoplayer.h
index 62260d167..723df0b6c 100644
--- a/examples/multimediawidgets/videowidget/videoplayer.h
+++ b/examples/multimediawidgets/videowidget/videoplayer.h
@@ -75,7 +75,7 @@ public slots:
void play();
private slots:
- void mediaStateChanged(QMediaPlayer::State state);
+ void mediaStateChanged(QMediaPlayer::PlaybackState state);
void positionChanged(qint64 position);
void durationChanged(qint64 duration);
void setPosition(int position);