Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qaudioengine.h
Go to the documentation of this file.
1
// Copyright (C) 2022 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-3.0-only
3
4
#
ifndef
QAUDIOENGINE_H
5
#
define
QAUDIOENGINE_H
6
7
#
include
<
QtSpatialAudio
/
qtspatialaudioglobal
.
h
>
8
#
include
<
QtCore
/
qobject
.
h
>
9
10
QT_BEGIN_NAMESPACE
11
12
class
QAudioEnginePrivate;
13
class
QAudioDevice;
14
15
class
Q_SPATIALAUDIO_EXPORT
QAudioEngine
:
public
QObject
16
{
17
Q_OBJECT
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)
23
public
:
24
QAudioEngine() : QAudioEngine(
nullptr
) {};
25
explicit
QAudioEngine(QObject *parent) : QAudioEngine(44100, parent) {}
26
explicit
QAudioEngine(
int
sampleRate, QObject *parent =
nullptr
);
27
~QAudioEngine() override;
28
29
enum
OutputMode {
30
Surround,
31
Stereo,
32
Headphone
33
};
34
Q_ENUM(OutputMode)
35
36
void
setOutputMode(OutputMode mode);
37
OutputMode outputMode()
const
;
38
39
int
sampleRate()
const
;
40
41
void
setOutputDevice(
const
QAudioDevice &device);
42
QAudioDevice outputDevice()
const
;
43
44
void
setMasterVolume(
float
volume);
45
float
masterVolume()
const
;
46
47
void
setPaused(
bool
paused);
48
bool
paused()
const
;
49
50
void
setRoomEffectsEnabled(
bool
enabled);
51
bool
roomEffectsEnabled()
const
;
52
53
static
constexpr
float
DistanceScaleCentimeter = 1.f;
54
static
constexpr
float
DistanceScaleMeter = 100.f;
55
56
void
setDistanceScale(
float
scale);
57
float
distanceScale()
const
;
58
59
Q_SIGNALS:
60
void
outputModeChanged();
61
void
outputDeviceChanged();
62
void
masterVolumeChanged();
63
void
pausedChanged();
64
void
distanceScaleChanged();
65
66
public
Q_SLOTS:
67
void
start();
68
void
stop();
69
70
void
pause() { setPaused(
true
); }
71
void
resume() { setPaused(
false
); }
72
73
private
:
74
Q_DECLARE_PRIVATE(QAudioEngine)
75
76
QT6_ONLY(Q_DECL_UNUSED_MEMBER
void
*unused =
nullptr
;)
// for ABI compatibility
77
};
78
79
QT_END_NAMESPACE
80
81
#
endif
QAudioEnginePrivate
Definition
qaudioengine_p.h:40
QAudioEnginePrivate::removeRoom
void removeRoom(QAudioRoom *)
Definition
qaudioengine.cpp:119
QAudioEnginePrivate::setMasterVolume
void setMasterVolume(float)
Definition
qaudioengine.cpp:51
QAudioEnginePrivate::updateRoomEffects
virtual void updateRoomEffects()=0
QAudioEnginePrivate::addRoom
void addRoom(QAudioRoom *)
Definition
qaudioengine.cpp:113
QAudioEnginePrivate::roomEffectsEnabled
bool roomEffectsEnabled() const
Definition
qaudioengine.cpp:92
QAudioEnginePrivate::distanceScale
float distanceScale() const
Definition
qaudioengine.cpp:46
QAudioEnginePrivate::m_masterVolume
float m_masterVolume
Definition
qaudioengine_p.h:61
QAudioEnginePrivate::currentRoom
QAudioRoom * currentRoom() const
Definition
qaudioengine.cpp:125
QAudioEnginePrivate::setOutputMode
virtual void setOutputMode(QAudioEngine::OutputMode)
Definition
qaudioengine.cpp:97
QAudioEnginePrivate::findSmallestRoomForListener
SmallestRoomForListenerResult findSmallestRoomForListener(QSpan< QAudioRoom * > rooms) const
Definition
qaudioengine.cpp:170
QAudioEnginePrivate::setListenerPosition
void setListenerPosition(std::optional< QVector3D >)
Definition
qaudioengine.cpp:66
QAudioEnginePrivate::masterVolume
float masterVolume() const
Definition
qaudioengine.cpp:61
QAudioEnginePrivate::setDistanceScale
void setDistanceScale(float scale)
Definition
qaudioengine.cpp:37
QAudioEnginePrivate::updateRooms
void updateRooms()
Definition
qaudioengine.cpp:130
QAudioEnginePrivate::setListenerRotation
void setListenerRotation(const QQuaternion &)
Definition
qaudioengine.cpp:79
QAudioEnginePrivate::~QAudioEnginePrivate
~QAudioEnginePrivate() override
QAudioEnginePrivate::setRoomEffectsEnabled
void setRoomEffectsEnabled(bool)
Definition
qaudioengine.cpp:85
QAudioEngine
\inmodule QtSpatialAudio
Definition
qaudioengine.h:16
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
Q_LOGGING_CATEGORY
Q_LOGGING_CATEGORY(lcEventDispatcher, "qt.eventdispatcher")
QAudioEnginePrivate::SmallestRoomForListenerResult
Definition
qaudioengine_p.h:98
qtmultimedia
src
spatialaudio
qaudioengine.h
Generated on
for Qt by
1.18.0