SoundEffect QML Type
Der Typ „SoundEffect“ bietet eine Möglichkeit, Soundeffekte in QML abzuspielen. Mehr...
| Import Statement: | import QtMultimedia |
| In C++: | QSoundEffect |
Eigenschaften
- loops : int
- loopsRemaining : int
- muted : bool
- playing : bool
- source : url
- status : enumeration
- volume : real
Signale
- loadedChanged()
- loopCountChanged()
- loopsRemainingChanged()
- mutedChanged()
- playingChanged()
- sourceChanged()
- statusChanged()
- volumeChanged()
Methoden
Ausführliche Beschreibung
Dieser Typ ermöglicht die Wiedergabe unkomprimierter Audiodateien (in der Regel WAV-Dateien) mit einer im Allgemeinen geringeren Latenz und eignet sich für „Feedback“-Sounds als Reaktion auf Benutzeraktionen (z. B. Töne einer virtuellen Tastatur, positives oder negatives Feedback bei Popup-Dialogen oder Spielgeräusche). Wenn eine geringe Latenz nicht wichtig ist, sollten Sie stattdessen den Typ „ MediaPlayer “ in Betracht ziehen, da dieser eine größere Vielfalt an Medienformaten unterstützt und weniger Ressourcen beansprucht.
In der Regel sollte der Soundeffekt wiederverwendet werden, sodass die gesamte Analyse und Vorbereitung im Voraus erfolgen kann und der Effekt nur bei Bedarf ausgelöst wird. Dies lässt sich mit QML leicht umsetzen, da Sie Ihre `SoundEffect`-Instanz deklarieren und an anderer Stelle darauf verweisen können.
Das folgende Beispiel spielt bei einem Mausklick eine WAV-Datei ab.
Text {
text: "Click Me!";
font.pointSize: 24;
width: 150; height: 50;
SoundEffect {
id: playSound
source: "soundeffect.wav"
}
MouseArea {
id: playArea
anchors.fill: parent
onPressed: { playSound.play() }
}
}Hinweis: „ QSoundEffect “ unterstützt nur Mono- oder Stereo-Audiodateien. Es wird empfohlen, Audiodateien mit einer Abtastrate von 48000 Hz zu verwenden, da dies die typische native Abtastrate auf den meisten Plattformen ist (QAudioDevice::preferredFormat()).
Dokumentation zu den Eigenschaften
loops : int
Diese Eigenschaft gibt an, wie oft der Sound abgespielt wird. Ein Wert von 0 oder 1 bedeutet, dass der Sound nur einmal abgespielt wird; setzen Sie den Wert auf „ SoundEffect Infinite“, um eine Endlosschleife zu aktivieren.
Der Wert kann während der Wiedergabe des Soundeffekts geändert werden; in diesem Fall werden die verbleibenden Wiederholungen auf den neuen Wert aktualisiert.
loopsRemaining : int [read-only]
Diese Eigenschaft gibt die Anzahl der verbleibenden Wiederholungen an, bevor der Soundeffekt von selbst endet, oder „ SoundEffect “. Der Wert ist „Infinite“, wenn dies unter „ loops “ festgelegt wurde.
muted : bool
Diese Eigenschaft ermöglicht die Steuerung der Stummschaltung. Bei dem Wert „ true “ wird dieser Effekt stummgeschaltet. Andernfalls erfolgt die Wiedergabe mit dem aktuell festgelegten „ volume “.
playing : bool [read-only]
Diese Eigenschaft gibt an, ob der Soundeffekt gerade abgespielt wird oder nicht.
source : url
Diese Eigenschaft enthält die URL der Datei, die abgespielt werden soll. Damit der „ SoundEffect “ versuchen kann, die Quelle zu laden, muss die URL existieren und die Anwendung muss über Leserechte für das angegebene Verzeichnis verfügen. Handelt es sich bei der gewünschten Quelle um eine lokale Datei, kann die URL entweder als absoluter oder als relativer Pfad (bezogen auf die Datei, in der der „ SoundEffect “ deklariert wurde) angegeben werden.
status : enumeration [read-only]
Diese Eigenschaft gibt den aktuellen Status des „ SoundEffect “ an, wie er unter „ SoundEffect “ aufgeführt ist. Die möglichen Status sind unten aufgeführt.
| Wert | Beschreibung |
|---|---|
| SoundEffect.Null | Es wurde keine Quelle festgelegt oder die Quelle ist null. |
| SoundEffect.Loading | Der „ SoundEffect “ versucht, die Quelle zu laden. |
| SoundEffect.Bereit | Die Quelle ist geladen und bereit zur Wiedergabe. |
| SoundEffect.Fehler | Während des Vorgangs ist ein Fehler aufgetreten, z. B. ist das Laden der Quelle fehlgeschlagen. |
volume : real
Diese Eigenschaft bestimmt die Lautstärke der Wiedergabe des Soundeffekts.
Die Lautstärke wird linear von 0.0 (Stille) bis 1.0 (volle Lautstärke) skaliert. Werte außerhalb dieses Bereichs werden begrenzt.
Die Standardlautstärke beträgt 1.0.
Lautstärkeregler in der Benutzeroberfläche sollten in der Regel nichtlinear skaliert werden. Die Verwendung einer logarithmischen Skala führt beispielsweise zu linearen Änderungen der wahrgenommenen Lautstärke, was ein Benutzer normalerweise von einem Lautstärkeregler erwartet. Weitere Details finden Sie unter convertVolume().
Signal-Dokumentation
loadedChanged()
Das Signal „ loadedChanged “ wird ausgelöst, wenn sich der Ladezustand geändert hat.
Hinweis: Der entsprechende Handler lautet „ onLoadedChanged “.
loopCountChanged()
Das Signal „ loopCountChanged “ wird ausgelöst, wenn sich die ursprüngliche Anzahl der Schleifen geändert hat.
Hinweis: Der entsprechende Handler lautet „ onLoopCountChanged “.
loopsRemainingChanged()
Das Signal „ loopsRemainingChanged “ wird ausgesendet, wenn sich die Anzahl der verbleibenden Schleifen geändert hat.
Hinweis: Der entsprechende Handler lautet „ onLoopsRemainingChanged “.
mutedChanged()
Das Signal „ mutedChanged “ wird ausgelöst, wenn sich der Stummschaltungsstatus geändert hat.
Hinweis: Der entsprechende Handler lautet „ onMutedChanged “.
playingChanged()
Das Signal „ playingChanged “ wird ausgelöst, wenn sich die Eigenschaft „playing“ geändert hat.
Hinweis: Der entsprechende Handler lautet „ onPlayingChanged “.
sourceChanged()
Das Signal „ sourceChanged “ wird ausgelöst, wenn die Quelle geändert wurde.
Hinweis: Der entsprechende Handler lautet „ onSourceChanged “.
statusChanged()
Das Signal „ statusChanged “ wird ausgelöst, wenn sich die Eigenschaft „status“ geändert hat.
Hinweis: Der entsprechende Handler lautet „ onStatusChanged “.
volumeChanged()
Das Signal „ volumeChanged “ wird ausgelöst, wenn sich die Lautstärke geändert hat.
Hinweis: Der entsprechende Handler ist „ onVolumeChanged “.
Methodendokumentation
bool isLoaded()
Gibt zurück, ob der Soundeffekt vollständig geladen wurde: source.
void play()
Starte die Wiedergabe des Soundeffekts und wiederhole den Effekt so oft, wie in der Eigenschaft „loops“ angegeben.
Dies ist die Standardmethode für „ SoundEffect “.
SoundEffect {
id: playSound
source: "soundeffect.wav"
}
MouseArea {
id: playArea
anchors.fill: parent
onPressed: { playSound.play() }
}void stop()
Die aktuelle Wiedergabe beenden.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.