On this page
SoundInstance QML Type
Play 3d audio content. More...
Import Statement: | import QtAudioEngine 1.1 |
Since: | Qt 5.0 |
Inherits: |
Properties
- direction : vector3d
- engine : QtAudioEngine::AudioEngine
- gain : vector3d
- pitch : vector3d
- position : vector3d
- sound : string
- state : enumeration
- velocity : vector3d
Signals
- directionChanged()
- gainChanged()
- pitchChanged()
- positionChanged()
- soundChanged()
- stateChanged(state)
- velocityChanged()
Methods
Detailed Description
There are two ways to create SoundInstance objects. You can obtain it by calling newInstance method of a Sound:
Rectangle {
id:root
color:"white"
width: 300
height: 500
AudioEngine {
id:audioengine
AudioSample {
name:"explosion01"
source: "explosion-01.wav"
}
Sound {
name:"explosion"
PlayVariation {
sample:"explosion01"
}
}
}
property variant soundEffect: audioengine.sounds["explosion"].newInstance();
MouseArea {
anchors.fill: parent
onPressed: {
root.soundEffect.play();
}
}
}
Or alternatively, you can explicitly define SoundInstance outside of AudioEngine for easier qml bindings:
Rectangle {
id:root
color:"white"
width: 300
height: 500
AudioEngine {
id:audioengine
AudioSample {
name:"explosion01"
source: "explosion-01.wav"
}
Sound {
name:"explosion"
PlayVariation {
sample:"explosion01"
}
}
}
Item {
id: animator
x: 10 + observer.percent * 100
y: 20 + observer.percent * 80
property real percent: 0
SequentialAnimation on percent {
loops: Animation.Infinite
running: true
NumberAnimation {
duration: 8000
from: 0
to: 1
}
}
}
SoundInstance {
id:soundEffect
engine:audioengine
sound:"explosion"
position:Qt.vector3d(animator.x, animator.y, 0);
}
MouseArea {
anchors.fill: parent
onPressed: {
soundEffect.play();
}
}
}
Property Documentation
direction : vector3d
This property holds the current 3d direction.
engine : QtAudioEngine::AudioEngine
This property holds the reference to AudioEngine, must be set only once.
gain : vector3d
This property holds the gain adjustment which will be used to modulate the audio output level from this SoundInstance.
pitch : vector3d
This property holds the pitch adjustment which will be used to modulate the audio pitch from this SoundInstance.
position : vector3d
This property holds the current 3d position.
sound : string
This property specifies which Sound this SoundInstance will use. Unlike some properties in other types, this property can be changed dynamically.
state : enumeration
This property holds the current playback state. It can be one of:
Value | Description |
---|---|
StopppedState | The SoundInstance is not playing, and when playback begins next it will play from position zero. |
PlayingState | The SoundInstance is playing the media. |
PausedState | The SoundInstance is not playing, and when playback begins next it will play from the position that it was paused at. |
velocity : vector3d
This property holds the current 3d velocity.
Signal Documentation
directionChanged()
This signal is emitted when direction is changed
The corresponding handler is onDirectionChanged
.
gainChanged()
This signal is emitted when gain is changed
The corresponding handler is onGainChanged
.
pitchChanged()
This signal is emitted when pitch is changed
The corresponding handler is onPitchChanged
.
positionChanged()
This signal is emitted when position is changed
The corresponding handler is onPositionChanged
.
soundChanged()
This signal is emitted when sound is changed
The corresponding handler is onSoundChanged
.
stateChanged(state)
This signal is emitted when state is changed
The corresponding handler is onStateChanged
.
velocityChanged()
This signal is emitted when velocity is changed
The corresponding handler is onVelocityChanged
.
Method Documentation
pause()
Pauses current playback.
play()
Starts playback.
stop()
Stops current playback.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtaudioengine-soundinstance.html