24class QQuick3DSpatialSound :
public QQuick3DNode
27 Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
28 Q_PROPERTY(
float volume READ volume WRITE setVolume NOTIFY volumeChanged)
29 Q_PROPERTY(DistanceModel distanceModel READ distanceModel WRITE setDistanceModel NOTIFY distanceModelChanged)
30 Q_PROPERTY(
float size READ size WRITE setSize NOTIFY sizeChanged)
31 Q_PROPERTY(
float distanceCutoff READ distanceCutoff WRITE setDistanceCutoff NOTIFY distanceCutoffChanged)
32 Q_PROPERTY(
float manualAttenuation READ manualAttenuation WRITE setManualAttenuation NOTIFY manualAttenuationChanged)
33 Q_PROPERTY(
float occlusionIntensity READ occlusionIntensity WRITE setOcclusionIntensity NOTIFY occlusionIntensityChanged)
34 Q_PROPERTY(
float directivity READ directivity WRITE setDirectivity NOTIFY directivityChanged)
35 Q_PROPERTY(
float directivityOrder READ directivityOrder WRITE setDirectivityOrder NOTIFY directivityOrderChanged)
36 Q_PROPERTY(
float nearFieldGain READ nearFieldGain WRITE setNearFieldGain NOTIFY nearFieldGainChanged)
37 Q_PROPERTY(
int loops READ loops WRITE setLoops NOTIFY loopsChanged)
38 Q_PROPERTY(
bool autoPlay READ autoPlay WRITE setAutoPlay NOTIFY autoPlayChanged)
39 QML_NAMED_ELEMENT(SpatialSound)
42 QQuick3DSpatialSound();
43 ~QQuick3DSpatialSound() override;
45 void setSource(
const QUrl &source);
48 void setVolume(
float volume);
56 Q_ENUM(DistanceModel);
58 void setDistanceModel(DistanceModel model);
59 DistanceModel distanceModel()
const;
61 void setSize(
float min);
64 void setDistanceCutoff(
float max);
65 float distanceCutoff()
const;
67 void setManualAttenuation(
float attenuation);
68 float manualAttenuation()
const;
70 void setOcclusionIntensity(
float occlusion);
71 float occlusionIntensity()
const;
73 void setDirectivity(
float alpha);
74 float directivity()
const;
76 void setDirectivityOrder(
float alpha);
77 float directivityOrder()
const;
79 void setNearFieldGain(
float gain);
80 float nearFieldGain()
const;
90 void setLoops(
int loops);
92 bool autoPlay()
const;
93 void setAutoPlay(
bool autoPlay);
101 void sourceChanged();
102 void volumeChanged();
103 void distanceModelChanged();
105 void distanceCutoffChanged();
106 void manualAttenuationChanged();
107 void occlusionIntensityChanged();
108 void directivityChanged();
109 void directivityOrderChanged();
110 void nearFieldGainChanged();
112 void autoPlayChanged();
115 void updatePosition();
116 void updateRotation();
119 QSSGRenderGraphObject *updateSpatialNode(QSSGRenderGraphObject *) override {
return nullptr; }
122 QSpatialSound *m_sound =
nullptr;