diff --git a/src/manageaudioplayer.h b/src/manageaudioplayer.h --- a/src/manageaudioplayer.h +++ b/src/manageaudioplayer.h @@ -219,6 +219,8 @@ void setPlayerError(QMediaPlayer::Error playerError); + void ensurePause(); + void ensurePlay(); void playPause(); diff --git a/src/manageaudioplayer.cpp b/src/manageaudioplayer.cpp --- a/src/manageaudioplayer.cpp +++ b/src/manageaudioplayer.cpp @@ -324,10 +324,19 @@ } } +void ManageAudioPlayer::ensurePause() +{ + if (mPlayingState) { + mPlayingState = false; + triggerPause(); + } +} + void ManageAudioPlayer::ensurePlay() { if (!mPlayingState) { - playPause(); + mPlayingState = true; + triggerPlay(); } } diff --git a/src/mpris2/mediaplayer2player.cpp b/src/mpris2/mediaplayer2player.cpp --- a/src/mpris2/mediaplayer2player.cpp +++ b/src/mpris2/mediaplayer2player.cpp @@ -132,7 +132,7 @@ void MediaPlayer2Player::Pause() { if (m_playListControler) { - m_manageAudioPlayer->playerPause(); + m_manageAudioPlayer->ensurePause(); } }