SoundEffect QML Type

Der Typ SoundEffect bietet eine Möglichkeit, Klangeffekte in QML abzuspielen. Mehr...

Import Statement: import QtMultimedia
In C++: QSoundEffect

Eigenschaften

Signale

Methoden

Detaillierte Beschreibung

Dieser Typ ermöglicht es Ihnen, unkomprimierte Audiodateien (typischerweise WAV-Dateien) mit geringerer Latenz abzuspielen, und eignet sich für "Feedback"-Sounds als Reaktion auf Benutzeraktionen (z.B. virtuelle Tastaturgeräusche, positives oder negatives Feedback für Popup-Dialoge oder Spielsounds). Wenn eine niedrige Latenzzeit nicht wichtig ist, sollten Sie stattdessen den Typ MediaPlayer verwenden, da dieser eine größere Anzahl von Medienformaten unterstützt und weniger ressourcenintensiv ist.

In der Regel sollte der Soundeffekt wiederverwendet werden, so dass die gesamte Analyse und Vorbereitung im Voraus erfolgen kann und nur bei Bedarf ausgelöst wird. Dies ist mit QML leicht zu erreichen, da Sie Ihre SoundEffect-Instanz deklarieren und an anderer Stelle auf sie verweisen können.

Das folgende Beispiel spielt eine WAV-Datei auf Mausklick 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() }
    }
}

Da SoundEffect etwas mehr Ressourcen benötigt, um eine geringere Latenzzeit bei der Wiedergabe zu erreichen, kann die Plattform die Anzahl der gleichzeitig abspielenden Soundeffekte begrenzen.

Eigenschaft Dokumentation

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 ihn auf SoundEffect.Infinite, um eine Endlosschleife zu aktivieren.

Der Wert kann geändert werden, während der Soundeffekt abgespielt wird; in diesem Fall werden die verbleibenden Schleifen auf den neuen Wert aktualisiert.


loopsRemaining : int [read-only]

Diese Eigenschaft enthält die Anzahl der verbleibenden Schleifen, bevor der Soundeffekt von selbst stoppt, oder SoundEffect.Infinite, wenn dies in loops eingestellt wurde.


muted : bool

Diese Eigenschaft bietet eine Möglichkeit, die Stummschaltung zu steuern. Ein Wert von true schaltet diesen Effekt stumm. Andernfalls erfolgt die Wiedergabe mit dem aktuell angegebenen volume.


playing : bool [read-only]

Diese Eigenschaft zeigt an, ob der Soundeffekt abgespielt wird oder nicht.


source : url

Diese Eigenschaft enthält die Url für den abzuspielenden Sound. Damit SoundEffect versuchen kann, die Quelle zu laden, muss die URL existieren und die Anwendung muss über Leseberechtigung im angegebenen Verzeichnis verfügen. Handelt es sich bei der gewünschten Quelle um eine lokale Datei, kann die URL entweder mit absoluter oder relativer Pfadangabe (zu der Datei, die SoundEffect deklariert hat) angegeben werden.


status : enumeration [read-only]

Diese Eigenschaft gibt den aktuellen Status von SoundEffect an, wie er in SoundEffect aufgezählt wird. Die möglichen Status sind unten aufgeführt.

WertBeschreibung
SoundEffect.NullEs wurde keine Quelle festgelegt oder die Quelle ist null.
SoundEffect.LadenDie SoundEffect versucht, die Quelle zu laden.
SoundEffect.BereitDie Quelle ist geladen und bereit zum Abspielen.
SoundEffect.FehlerWährend des Vorgangs ist ein Fehler aufgetreten, z. B. ein Fehler beim Laden der Quelle.

volume : real

Diese Eigenschaft enthält die Lautstärke der Wiedergabe des Soundeffekts.

Die Lautstärke wird linear von 0.0 (Stille) bis 1.0 (volle Lautstärke) skaliert. Werte, die außerhalb dieses Bereichs liegen, werden geklammert.

Die Standardlautstärke ist 1.0.

Die Lautstärkeregler der Benutzeroberfläche sollten normalerweise nicht linear skaliert werden. Die Verwendung einer logarithmischen Skala führt beispielsweise zu linearen Änderungen der wahrgenommenen Lautstärke, was der Benutzer normalerweise von einem Lautstärkeregler erwarten würde. Siehe convertVolume() für weitere Details.


Signal-Dokumentation

loadedChanged()

Das Signal loadedChanged wird ausgegeben, wenn sich der Ladezustand geändert hat.

Hinweis: Der entsprechende Handler ist onLoadedChanged.


loopCountChanged()

Das Signal loopCountChanged wird ausgegeben, wenn sich die ursprüngliche Anzahl der Schleifen geändert hat.

Hinweis: Der entsprechende Handler ist onLoopCountChanged.


loopsRemainingChanged()

Das Signal loopsRemainingChanged wird ausgegeben, wenn sich die verbleibende Anzahl der Schleifen geändert hat.

Hinweis: Der entsprechende Handler ist onLoopsRemainingChanged.


mutedChanged()

Das Signal mutedChanged wird ausgegeben, wenn sich der Zustand der Stummschaltung geändert hat.

Hinweis: Der entsprechende Handler ist onMutedChanged.


playingChanged()

Das Signal playingChanged wird ausgegeben, wenn sich die Abspieleigenschaft geändert hat.

Hinweis: Der entsprechende Handler ist onPlayingChanged.


sourceChanged()

Das Signal sourceChanged wird ausgegeben, wenn die Quelle geändert wurde.

Hinweis: Der entsprechende Handler ist onSourceChanged.


statusChanged()

Das Signal statusChanged wird ausgegeben, wenn sich die Statuseigenschaft geändert hat.

Hinweis: Der entsprechende Handler ist onStatusChanged.


volumeChanged()

Das Signal volumeChanged wird ausgegeben, wenn sich die Lautstärke geändert hat.

Hinweis: Der entsprechende Handler ist onVolumeChanged.


Dokumentation der Methode

bool isLoaded()

Gibt zurück, ob der Soundeffekt das Laden des source abgeschlossen hat.


play()

Startet die Wiedergabe des Soundeffekts, wobei der Effekt so oft wiederholt wird, 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() }
}

stop()

Stoppt die aktuelle Wiedergabe.


© 2025 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.