Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
\inmodule QtSpatialAudio More...
#include <qspatialsound.h>
Public Types | |
enum | Loops { Infinite = -1 , Once = 1 } |
Lets you control the sound playback loop using the following values: More... | |
enum class | DistanceModel { Logarithmic , Linear , ManualAttenuation } |
Defines how the volume of the sound scales with distance to the listener. More... | |
Public Slots | |
void | play () |
Starts playing back the sound. | |
void | pause () |
Pauses sound playback. | |
void | stop () |
Stops sound playback and resets the current position and current loop count to 0. | |
Public Slots inherited from QObject | |
void | deleteLater () |
\threadsafe | |
Signals | |
void | sourceChanged () |
void | loopsChanged () |
void | autoPlayChanged () |
void | positionChanged () |
void | rotationChanged () |
void | volumeChanged () |
void | distanceModelChanged () |
void | sizeChanged () |
void | distanceCutoffChanged () |
void | manualAttenuationChanged () |
void | occlusionIntensityChanged () |
void | directivityChanged () |
void | directivityOrderChanged () |
void | nearFieldGainChanged () |
Signals inherited from QObject | |
void | destroyed (QObject *=nullptr) |
This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked. | |
void | objectNameChanged (const QString &objectName, QPrivateSignal) |
This signal is emitted after the object's name has been changed. | |
Public Member Functions | |
QSpatialSound (QAudioEngine *engine) | |
Creates a spatial sound source for engine. | |
~QSpatialSound () | |
Destroys the sound source. | |
void | setSource (const QUrl &url) |
QUrl | source () const |
int | loops () const |
void | setLoops (int loops) |
bool | autoPlay () const |
void | setAutoPlay (bool autoPlay) |
void | setPosition (QVector3D pos) |
QVector3D | position () const |
void | setRotation (const QQuaternion &q) |
QQuaternion | rotation () const |
void | setVolume (float volume) |
float | volume () const |
Q_ENUM (DistanceModel) | |
void | setDistanceModel (DistanceModel model) |
DistanceModel | distanceModel () const |
void | setSize (float size) |
float | size () const |
void | setDistanceCutoff (float cutoff) |
float | distanceCutoff () const |
void | setManualAttenuation (float attenuation) |
float | manualAttenuation () const |
void | setOcclusionIntensity (float occlusion) |
float | occlusionIntensity () const |
void | setDirectivity (float alpha) |
float | directivity () const |
void | setDirectivityOrder (float alpha) |
float | directivityOrder () const |
void | setNearFieldGain (float gain) |
float | nearFieldGain () const |
QAudioEngine * | engine () const |
Returns the engine associated with this listener. | |
Public Member Functions inherited from QObject | |
Q_INVOKABLE | QObject (QObject *parent=nullptr) |
Constructs an object with parent object parent. | |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. | |
virtual bool | event (QEvent *event) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
Filters events if this object has been installed as an event filter for the watched object. | |
QString | objectName () const |
Q_WEAK_OVERLOAD void | setObjectName (const QString &name) |
Sets the object's name to name. | |
void | setObjectName (QAnyStringView name) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QBindable< QString > | bindableObjectName () |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false . | |
bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false . | |
bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false . | |
bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false . | |
bool | blockSignals (bool b) noexcept |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
bool | moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL) |
Changes the thread affinity for this object and its children and returns true on success. | |
int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
int | startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
void | killTimer (Qt::TimerId id) |
template<typename T > | |
T | findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
template<typename T > | |
QList< T > | findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. | |
template<typename T > | |
T | findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
template<typename T > | |
QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
const QObjectList & | children () const |
Returns a list of child objects. | |
void | setParent (QObject *parent) |
Makes the object a child of parent. | |
void | installEventFilter (QObject *filterObj) |
Installs an event filter filterObj on this object. | |
void | removeEventFilter (QObject *obj) |
Removes an event filter object obj from this object. | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
void | dumpObjectTree () const |
Dumps a tree of children to the debug output. | |
void | dumpObjectInfo () const |
Dumps information about signal connections, etc. | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. | |
bool | setProperty (const char *name, QVariant &&value) |
QVariant | property (const char *name) const |
Returns the value of the object's name property. | |
QList< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () const |
Returns a pointer to the parent object. | |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false . | |
Properties | |
QUrl | source |
The source file for the sound to be played. | |
QVector3D | position |
Defines the position of the sound source in 3D space. | |
QQuaternion | rotation |
Defines the orientation of the sound source in 3D space. | |
float | volume |
Defines the volume of the sound. | |
DistanceModel | distanceModel |
Defines distance model for this sound source. | |
float | size |
Defines the size of the sound source. | |
float | distanceCutoff |
Defines a distance beyond which sound coming from the source will cutoff. | |
float | manualAttenuation |
Defines a manual attenuation factor if \l distanceModel is set to QSpatialSound::DistanceModel::ManualAttenuation. | |
float | occlusionIntensity |
Defines how much the object is occluded. | |
float | directivity |
Defines the directivity of the sound source. | |
float | directivityOrder |
Defines the order of the directivity of the sound source. | |
float | nearFieldGain |
Defines the near field gain for the sound source. | |
int | loops |
Determines how many times the sound is played before the player stops. | |
bool | autoPlay |
Determines whether the sound should automatically start playing when a source gets specified. | |
Properties inherited from QObject | |
QString | objectName |
the name of this object | |
Friends | |
class | QAmbientSoundPrivate |
class | QSpatialSoundPrivate |
Additional Inherited Members | |
Static Public Member Functions inherited from QObject | |
static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
\threadsafe | |
static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
\threadsafe | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static bool | disconnect (const QMetaObject::Connection &) |
Disconnect a connection. | |
template<typename Func1 , typename Func2 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
template<typename Func1 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
Protected Member Functions inherited from QObject | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. | |
int | senderSignalIndex () const |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. | |
bool | isSignalConnected (const QMetaMethod &signal) const |
virtual void | timerEvent (QTimerEvent *event) |
This event handler can be reimplemented in a subclass to receive timer events for the object. | |
virtual void | childEvent (QChildEvent *event) |
This event handler can be reimplemented in a subclass to receive child events. | |
virtual void | customEvent (QEvent *event) |
This event handler can be reimplemented in a subclass to receive custom events. | |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
Protected Attributes inherited from QObject | |
QScopedPointer< QObjectData > | d_ptr |
Related Symbols inherited from QObject | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
\inmodule QtSpatialAudio
A sound object in 3D space.
QSpatialSound represents an audible object in 3D space. You can define its position and orientation in space, set the sound it is playing and define a volume for the object.
The object can have different attenuation behavior, emit sound mainly in one direction or spherically, and behave as if occluded by some other object.
Definition at line 17 of file qspatialsound.h.
|
strong |
Defines how the volume of the sound scales with distance to the listener.
\value Logarithmic Volume decreases logarithmically with distance. \value Linear Volume decreases linearly with distance. \value ManualAttenuation Attenuation is defined manually using the \l manualAttenuation property.
Enumerator | |
---|---|
Logarithmic | |
Linear | |
ManualAttenuation |
Definition at line 64 of file qspatialsound.h.
enum QSpatialSound::Loops |
Lets you control the sound playback loop using the following values:
\value Infinite Playback infinitely \value Once Playback once
Enumerator | |
---|---|
Infinite | |
Once |
Definition at line 42 of file qspatialsound.h.
|
explicit |
Creates a spatial sound source for engine.
The object can be placed in 3D space and will be louder the closer to the listener it is.
Definition at line 35 of file qspatialsound.cpp.
QSpatialSound::~QSpatialSound | ( | ) |
Destroys the sound source.
Definition at line 44 of file qspatialsound.cpp.
bool QSpatialSound::autoPlay | ( | ) | const |
Definition at line 522 of file qspatialsound.cpp.
|
signal |
float QSpatialSound::directivity | ( | ) | const |
Definition at line 407 of file qspatialsound.cpp.
|
signal |
float QSpatialSound::directivityOrder | ( | ) | const |
Definition at line 434 of file qspatialsound.cpp.
|
signal |
float QSpatialSound::distanceCutoff | ( | ) | const |
Definition at line 324 of file qspatialsound.cpp.
|
signal |
QSpatialSound::DistanceModel QSpatialSound::distanceModel | ( | ) | const |
Definition at line 275 of file qspatialsound.cpp.
|
signal |
QAudioEngine * QSpatialSound::engine | ( | ) | const |
Returns the engine associated with this listener.
Definition at line 590 of file qspatialsound.cpp.
int QSpatialSound::loops | ( | ) | const |
Definition at line 502 of file qspatialsound.cpp.
|
signal |
float QSpatialSound::manualAttenuation | ( | ) | const |
Definition at line 347 of file qspatialsound.cpp.
|
signal |
float QSpatialSound::nearFieldGain | ( | ) | const |
Definition at line 461 of file qspatialsound.cpp.
|
signal |
float QSpatialSound::occlusionIntensity | ( | ) | const |
Definition at line 379 of file qspatialsound.cpp.
|
signal |
|
slot |
Pauses sound playback.
Calling play() will continue playback.
Definition at line 545 of file qspatialsound.cpp.
|
slot |
Starts playing back the sound.
Does nothing if the sound is already playing.
Definition at line 537 of file qspatialsound.cpp.
QVector3D QSpatialSound::position | ( | ) | const |
Definition at line 69 of file qspatialsound.cpp.
|
signal |
QSpatialSound::Q_ENUM | ( | DistanceModel | ) |
QQuaternion QSpatialSound::rotation | ( | ) | const |
Definition at line 89 of file qspatialsound.cpp.
|
signal |
void QSpatialSound::setAutoPlay | ( | bool | autoPlay | ) |
Definition at line 527 of file qspatialsound.cpp.
void QSpatialSound::setDirectivity | ( | float | alpha | ) |
Definition at line 393 of file qspatialsound.cpp.
void QSpatialSound::setDirectivityOrder | ( | float | alpha | ) |
Definition at line 420 of file qspatialsound.cpp.
void QSpatialSound::setDistanceCutoff | ( | float | cutoff | ) |
Definition at line 312 of file qspatialsound.cpp.
void QSpatialSound::setDistanceModel | ( | DistanceModel | model | ) |
Definition at line 138 of file qspatialsound.cpp.
void QSpatialSound::setLoops | ( | int | loops | ) |
Definition at line 507 of file qspatialsound.cpp.
void QSpatialSound::setManualAttenuation | ( | float | attenuation | ) |
Definition at line 336 of file qspatialsound.cpp.
void QSpatialSound::setNearFieldGain | ( | float | gain | ) |
Definition at line 446 of file qspatialsound.cpp.
void QSpatialSound::setOcclusionIntensity | ( | float | occlusion | ) |
Definition at line 368 of file qspatialsound.cpp.
Definition at line 57 of file qspatialsound.cpp.
void QSpatialSound::setRotation | ( | const QQuaternion & | q | ) |
Definition at line 80 of file qspatialsound.cpp.
void QSpatialSound::setSize | ( | float | size | ) |
Definition at line 287 of file qspatialsound.cpp.
Definition at line 471 of file qspatialsound.cpp.
void QSpatialSound::setVolume | ( | float | volume | ) |
Definition at line 102 of file qspatialsound.cpp.
float QSpatialSound::size | ( | ) | const |
Definition at line 299 of file qspatialsound.cpp.
|
signal |
QUrl QSpatialSound::source | ( | ) | const |
Definition at line 481 of file qspatialsound.cpp.
|
signal |
|
slot |
Stops sound playback and resets the current position and current loop count to 0.
Calling play() will start playback at the beginning of the sound file.
Definition at line 554 of file qspatialsound.cpp.
float QSpatialSound::volume | ( | ) | const |
Definition at line 113 of file qspatialsound.cpp.
|
signal |
|
friend |
Definition at line 120 of file qspatialsound.h.
|
friend |
Definition at line 121 of file qspatialsound.h.
|
readwrite |
Determines whether the sound should automatically start playing when a source gets specified.
The default value is true
.
Definition at line 33 of file qspatialsound.h.
|
readwrite |
Defines the directivity of the sound source.
A value of 0 implies that the sound is emitted equally in all directions, while a value of 1 implies that the source mainly emits sound in the forward direction.
Valid values are between 0 and 1, the default is 0.
Definition at line 29 of file qspatialsound.h.
|
readwrite |
Defines the order of the directivity of the sound source.
A higher order implies a sharper localization of the sound cone.
The minimum value and default for this property is 1.
Definition at line 30 of file qspatialsound.h.
|
readwrite |
Defines a distance beyond which sound coming from the source will cutoff.
If the listener is further away from the sound object than the cutoff distance it won't be audible anymore.
Definition at line 26 of file qspatialsound.h.
|
readwrite |
Defines distance model for this sound source.
The volume starts scaling down from \l size to \l distanceCutoff. The volume is constant for distances smaller than size and zero for distances larger than the cutoff distance.
Definition at line 24 of file qspatialsound.h.
|
readwrite |
Determines how many times the sound is played before the player stops.
Set to QSpatialSound::Infinite to play the current sound in a loop forever.
The default value is 1
.
Definition at line 32 of file qspatialsound.h.
|
readwrite |
Defines a manual attenuation factor if \l distanceModel is set to QSpatialSound::DistanceModel::ManualAttenuation.
Definition at line 27 of file qspatialsound.h.
|
readwrite |
Defines the near field gain for the sound source.
Valid values are between 0 and 1. A near field gain of 1 will raise the volume of the sound signal by approx 20 dB for distances very close to the listener.
Definition at line 31 of file qspatialsound.h.
|
readwrite |
Defines how much the object is occluded.
0 implies the object is not occluded at all, 1 implies the sound source is fully occluded by another object.
A fully occluded object will still be audible, but especially higher frequencies will be dampened. In addition, the object will still participate in generating reverb and reflections in the room.
Values larger than 1 are possible to further dampen the direct sound coming from the source.
The default is 0.
Definition at line 28 of file qspatialsound.h.
|
readwrite |
Defines the position of the sound source in 3D space.
Units are in centimeters by default.
Definition at line 21 of file qspatialsound.h.
|
readwrite |
Defines the orientation of the sound source in 3D space.
Definition at line 22 of file qspatialsound.h.
|
readwrite |
Defines the size of the sound source.
If the listener is closer to the sound object than the size, volume will stay constant. The size is also used to for occlusion calculations, where large sources can be partially occluded by a wall.
Definition at line 25 of file qspatialsound.h.
|
readwrite |
The source file for the sound to be played.
Definition at line 20 of file qspatialsound.h.
|
readwrite |
Defines the volume of the sound.
Values between 0 and 1 will attenuate the sound, while values above 1 provide an additional gain boost.
Definition at line 23 of file qspatialsound.h.