SoundEffect QML Type
Le type SoundEffect permet de jouer des effets sonores en QML. Plus d'informations...
| Import Statement: | import QtMultimedia |
| In C++: | QSoundEffect |
Propriétés
- loops : int
- loopsRemaining : int
- muted : bool
- playing : bool
- source : url
- status : enumeration
- volume : real
Signaux
- loadedChanged()
- loopCountChanged()
- loopsRemainingChanged()
- mutedChanged()
- playingChanged()
- sourceChanged()
- statusChanged()
- volumeChanged()
Méthodes
Description détaillée
Ce type vous permet de lire des fichiers audio non compressés (généralement des fichiers WAV) avec une latence généralement plus faible, et convient aux sons de type "feedback" en réponse aux actions de l'utilisateur (par exemple, les sons du clavier virtuel, le feedback positif ou négatif pour les dialogues popup, ou les sons de jeu). Si une faible latence n'est pas importante, il est préférable d'utiliser le type MediaPlayer, qui prend en charge une plus grande variété de formats de médias et est moins gourmand en ressources.
En règle générale, l'effet sonore doit être réutilisé, ce qui permet d'effectuer à l'avance toutes les opérations d'analyse et de préparation, et de ne le déclencher qu'en cas de besoin. Cela est facile à réaliser avec QML, puisque vous pouvez déclarer votre instance de SoundEffect et y faire référence ailleurs.
L'exemple suivant joue un fichier WAV au clic de la souris.
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() } } }
Remarque : QSoundEffect ne prend en charge que les fichiers sonores mono ou stéréo. Il est recommandé d'utiliser des fichiers sonores avec un taux d'échantillonnage de 48000hz, car il s'agit du taux d'échantillonnage natif typique sur la plupart des plates-formes (QAudioDevice::preferredFormat()).
Documentation sur les propriétés
loops : int
Cette propriété indique le nombre de fois que le son est joué. Une valeur de 0 ou 1 signifie que le son ne sera joué qu'une seule fois ; la valeur SoundEffect.Infinite permet d'activer une boucle infinie.
La valeur peut être modifiée pendant la lecture de l'effet sonore, auquel cas les boucles restantes seront mises à jour en fonction de la nouvelle valeur.
loopsRemaining : int [read-only]
Cette propriété contient le nombre de boucles restantes avant que l'effet sonore ne s'arrête de lui-même, ou SoundEffect.Infinite si c'est ce qui a été défini dans loops.
muted : bool
Cette propriété permet de contrôler l'inhibition. Une valeur de true mettra cet effet en sourdine. Dans le cas contraire, la lecture se fera avec l'effet actuellement spécifié volume.
playing : bool [read-only]
Cette propriété indique si l'effet sonore est joué ou non.
source : url
Cette propriété contient l'URL du son à jouer. Pour que SoundEffect tente de charger la source, l'URL doit exister et l'application doit disposer d'une autorisation de lecture dans le répertoire spécifié. Si la source souhaitée est un fichier local, l'URL peut être spécifiée en utilisant un chemin d'accès absolu ou relatif (au fichier qui a déclaré le SoundEffect).
status : enumeration [read-only]
Cette propriété indique l'état actuel du site SoundEffect, tel qu'il est énuméré dans SoundEffect. Les états possibles sont énumérés ci-dessous.
| Valeur | Description de l'état |
|---|---|
| SoundEffectNull | Aucune source n'a été définie ou la source est nulle. |
| SoundEffect.Loading | Le site SoundEffect essaie de charger la source. |
| SoundEffect.Ready | La source est chargée et prête à être lue. |
| SoundEffectErreur | Une erreur s'est produite pendant l'opération, comme l'échec du chargement de la source. |
volume : real
Cette propriété définit le volume de la lecture de l'effet sonore.
Le volume est échelonné linéairement de 0.0 (silence) à 1.0 (volume maximum). Les valeurs situées en dehors de cette plage seront bridées.
Le volume par défaut est 1.0.
Les commandes de volume de l'interface utilisateur doivent généralement être mises à l'échelle de manière non linéaire. Par exemple, l'utilisation d'une échelle logarithmique produira des changements linéaires dans l'intensité sonore perçue, ce qui correspond à ce qu'un utilisateur attend normalement d'un contrôle de volume. Voir convertVolume() pour plus de détails.
Documentation sur les signaux
loadedChanged()
Le signal loadedChanged est émis lorsque l'état de chargement a changé.
Remarque : le gestionnaire correspondant est onLoadedChanged.
loopCountChanged()
Le signal loopCountChanged est émis lorsque le nombre initial de boucles a changé.
Remarque : le gestionnaire correspondant est onLoopCountChanged.
loopsRemainingChanged()
Le signal loopsRemainingChanged est émis lorsque le nombre de boucles restantes a changé.
Remarque : le gestionnaire correspondant est onLoopsRemainingChanged.
mutedChanged()
Le signal mutedChanged est émis lorsque l'état de la sourdine a changé.
Remarque : le gestionnaire correspondant est onMutedChanged.
playingChanged()
Le signal playingChanged est émis lorsque la propriété de lecture a changé.
Remarque : le gestionnaire correspondant est onPlayingChanged.
sourceChanged()
Le signal sourceChanged est émis lorsque la source a été modifiée.
Remarque : le gestionnaire correspondant est onSourceChanged.
statusChanged()
Le signal statusChanged est émis lorsque la propriété status a changé.
Remarque : le gestionnaire correspondant est onStatusChanged.
volumeChanged()
Le signal volumeChanged est émis lorsque le volume a changé.
Remarque : le gestionnaire correspondant est onVolumeChanged.
Documentation de la méthode
bool isLoaded()
Indique si l'effet sonore a fini de charger le fichier source.
void play()
Lance la lecture de l'effet sonore, en bouclant l'effet le nombre de fois spécifié dans la propriété loops.
Il s'agit de la méthode par défaut pour SoundEffect.
SoundEffect { id: playSound source: "soundeffect.wav" } MouseArea { id: playArea anchors.fill: parent onPressed: { playSound.play() } }
void stop()
Arrêter la lecture en cours.
© 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.