1#ifndef NOTIFICATIONAUDIO_H
2#define NOTIFICATIONAUDIO_H
9#include <QScopedPointer>
21 void status(QString message);
22 void error(QString message);
23 void setDevice(
const QAudioDevice &device,
unsigned msBuffer = 0);
24 void play(
const QString &filePath);
28 using Entry = QPair<QAudioFormat, QByteArray>;
29 using Cache = QHash<QString, Entry>;
31 void playEntry(Cache::const_iterator);
32 static QByteArray pcm24le_to_int32le(
const QByteArray &in);
33 static bool upmixMonoToStereoInPlace(QAudioFormat &fmt, QByteArray &data);
35 QScopedPointer<SoundOutput> m_stream;
37 QAudioDevice m_device;
void error(QString message)
Handles error messages from the SoundOutput.
Definition NotificationAudio.cpp:47
NotificationAudio(QObject *parent=nullptr)
Constructs a NotificationAudio object.
Definition NotificationAudio.cpp:21
void status(QString message)
Handles status messages from the SoundOutput.
Definition NotificationAudio.cpp:38
void play(const QString &filePath)
Plays an audio file from the specified file path.
Definition NotificationAudio.cpp:66
~NotificationAudio()
Destructs the NotificationAudio object.
Definition NotificationAudio.cpp:32
void setDevice(const QAudioDevice &device, unsigned msBuffer=0)
Sets the audio device and buffer size.
Definition NotificationAudio.cpp:56
void stop()
Stops audio playback.
Definition NotificationAudio.cpp:111
Definition SoundOutput.h:13