7#include <QtSpatialAudio/qtspatialaudioglobal.h>
8#include <QtCore/qobject.h>
18 Q_PROPERTY(OutputMode outputMode READ outputMode WRITE setOutputMode NOTIFY outputModeChanged)
19 Q_PROPERTY(QAudioDevice outputDevice READ outputDevice WRITE setOutputDevice NOTIFY outputDeviceChanged)
20 Q_PROPERTY(
float masterVolume READ masterVolume WRITE setMasterVolume NOTIFY masterVolumeChanged)
21 Q_PROPERTY(
bool paused READ paused WRITE setPaused NOTIFY pausedChanged)
22 Q_PROPERTY(
float distanceScale READ distanceScale WRITE setDistanceScale NOTIFY distanceScaleChanged)
24 QAudioEngine() : QAudioEngine(
nullptr) {};
25 explicit QAudioEngine(QObject *parent) : QAudioEngine(44100, parent) {}
26 explicit QAudioEngine(
int sampleRate, QObject *parent =
nullptr);
27 ~QAudioEngine() override;
36 void setOutputMode(OutputMode mode);
37 OutputMode outputMode()
const;
39 int sampleRate()
const;
41 void setOutputDevice(
const QAudioDevice &device);
42 QAudioDevice outputDevice()
const;
44 void setMasterVolume(
float volume);
45 float masterVolume()
const;
47 void setPaused(
bool paused);
50 void setRoomEffectsEnabled(
bool enabled);
51 bool roomEffectsEnabled()
const;
53 static constexpr float DistanceScaleCentimeter = 1.f;
54 static constexpr float DistanceScaleMeter = 100.f;
56 void setDistanceScale(
float scale);
57 float distanceScale()
const;
60 void outputModeChanged();
61 void outputDeviceChanged();
62 void masterVolumeChanged();
64 void distanceScaleChanged();
70 void pause() { setPaused(
true); }
71 void resume() { setPaused(
false); }
74 friend class QAudioEnginePrivate;
75 QAudioEnginePrivate *d;
void setAutoPlay(bool autoPlay)
void setSource(QUrl source)
void pause()
\qmlmethod AmbientSound::pause()
void stop()
\qmlmethod AmbientSound::stop()
~QQuick3DAmbientSound() override
bool autoPlay() const
\qmlproperty bool AmbientSound::autoPlay
QUrl source() const
\qmlproperty url AmbientSound::source
void setVolume(float volume)
\qmlproperty real AmbientSound::volume
void outputDeviceChanged()
void setOutputDevice(const QAudioDevice &device)
\qmlproperty QtMultimedia.AudioDevice AudioEngine::outputDevice
static QAudioEngine * getEngine()
void setMasterVolume(float volume)
\qmlproperty real AudioEngine::masterVolume
QAudioDevice outputDevice() const
void setOutputMode(OutputMode mode)
\qmlproperty enumeration AudioEngine::outputMode
float distanceScale() const
OutputMode outputMode() const
void setDistanceScale(float scale)
\qmlproperty real QAudioEngine::distanceScale
~QQuick3DAudioEngine() override
void distanceScaleChanged()
void masterVolumeChanged()
float masterVolume() const