diff --git a/src/controllers/notifications/NotificationController.cpp b/src/controllers/notifications/NotificationController.cpp index 1205e44b..2028c983 100644 --- a/src/controllers/notifications/NotificationController.cpp +++ b/src/controllers/notifications/NotificationController.cpp @@ -106,12 +106,15 @@ void NotificationController::playSound() getSettings()->notificationPathSound.getValue()) : QUrl("qrc:/sounds/ping2.wav"); - if (currentPlayerUrl != highlightSoundUrl) + // Set media if the highlight sound url has changed, or if media is buffered + if (currentPlayerUrl != highlightSoundUrl || + player->mediaStatus() == QMediaPlayer::BufferedMedia) { player->setMedia(highlightSoundUrl); currentPlayerUrl = highlightSoundUrl; } + player->play(); } diff --git a/src/messages/SharedMessageBuilder.cpp b/src/messages/SharedMessageBuilder.cpp index c428375d..426ead82 100644 --- a/src/messages/SharedMessageBuilder.cpp +++ b/src/messages/SharedMessageBuilder.cpp @@ -234,8 +234,9 @@ void SharedMessageBuilder::triggerHighlights() { if (auto player = getPlayer()) { - // update the media player url if necessary - if (currentPlayerUrl != this->highlightSoundUrl_) + // Set media if the highlight sound url has changed, or if media is buffered + if (currentPlayerUrl != this->highlightSoundUrl_ || + player->mediaStatus() == QMediaPlayer::BufferedMedia) { player->setMedia(this->highlightSoundUrl_);