Add alert audio sound to settings dialog

This commit is contained in:
Dan Paulat 2023-12-02 23:26:54 -06:00
parent a495cf1b3b
commit 2345855a97
6 changed files with 128 additions and 39 deletions

View file

@ -81,15 +81,33 @@ void MediaManager::Impl::ConnectSignals()
void MediaManager::Play(types::AudioFile media)
{
const std::string path = types::GetMediaPath(media);
}
logger_->debug("Playing audio: {}", path);
void MediaManager::Play(const std::string& mediaPath)
{
logger_->debug("Playing audio: {}", mediaPath);
p->mediaPlayer_->setSource(
QUrl(QString("qrc:%1").arg(QString::fromStdString(path))));
if (mediaPath.starts_with(':'))
{
p->mediaPlayer_->setSource(
QUrl(QString("qrc%1").arg(QString::fromStdString(mediaPath))));
}
else
{
p->mediaPlayer_->setSource(
QUrl::fromLocalFile(QString::fromStdString(mediaPath)));
}
p->mediaPlayer_->setPosition(0);
QMetaObject::invokeMethod(p->mediaPlayer_, &QMediaPlayer::play);
}
void MediaManager::Stop()
{
QMetaObject::invokeMethod(p->mediaPlayer_, &QMediaPlayer::stop);
}
std::shared_ptr<MediaManager> MediaManager::Instance()
{
static std::weak_ptr<MediaManager> mediaManagerReference_ {};

View file

@ -23,6 +23,8 @@ public:
~MediaManager();
void Play(types::AudioFile media);
void Play(const std::string& mediaPath);
void Stop();
static std::shared_ptr<MediaManager> Instance();