Sur cette page

SoundEffect QML Type

Le type `SoundEffect` permet de lire des effets sonores dans QML. En savoir plus…

Import Statement: import QtMultimedia
In C++: QSoundEffect

Propriétés

Signaux

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. Il est adapté aux sons de type « retour d'information » en réponse aux actions de l'utilisateur (par exemple, les sons d'un clavier virtuel, les retours positifs ou négatifs pour les boîtes de dialogue contextuelles, ou encore les sons de jeux). Si la faible latence n’est pas un critère essentiel, envisagez plutôt d’utiliser le type « MediaPlayer », car il prend en charge une plus grande variété de formats multimé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’analyse et la préparation à l’avance, 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 SoundEffect et y faire référence ailleurs.

L'exemple suivant lit un fichier WAV au clic de 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 audio mono ou stéréo. Il est recommandé d’utiliser des fichiers audio avec un taux d’échantillonnage de 48 000 Hz, car il s’agit du taux d’échantillonnage natif standard sur la plupart des plateformes (QAudioDevice::preferredFormat()).

Documentation sur les propriétés

loops : int

Cette propriété indique le nombre de fois où le son est lu. Une valeur de 0 ou 1 signifie que le son ne sera lu qu'une seule fois ; définissez-la sur SoundEffect.Infinite pour activer la lecture en boucle infinie.

La valeur peut être modifiée pendant la lecture de l'effet sonore ; dans ce cas, le nombre de boucles restantes sera mis à jour en fonction de la nouvelle valeur.

loopsRemaining : int [read-only]

Cette propriété indique le nombre de boucles restantes avant que l'effet sonore ne s'arrête de lui-même, ou « SoundEffect ». Elle prend la valeur « Infinite » si c'est ce qui a été défini dans « loops ».

muted : bool

Cette propriété permet de contrôler la mise en sourdine. Une valeur de « true » mettra cet effet en sourdine. Dans le cas contraire, la lecture s'effectuera avec la valeur « volume » actuellement spécifiée.

playing : bool [read-only]

Cette propriété indique si l'effet sonore est en cours de lecture ou non.

source : url

Cette propriété contient l'URL du fichier audio à lire. Pour que l'SoundEffect e puisse tenter de charger la source, l'URL doit exister et l'application doit disposer d'un droit de lecture dans le répertoire indiqué. Si la source souhaitée est un fichier local, l'URL peut être spécifiée sous forme de chemin absolu ou relatif (par rapport au fichier ayant déclaré l'SoundEffect e).

status : enumeration [read-only]

Cette propriété indique l'état actuel de l'SoundEffect, tel qu'énuméré à l'adresse SoundEffect. Les états possibles sont répertoriés ci-dessous.

ValeurDescription
SoundEffect.NullAucune source n'a été définie ou la source est nulle.
SoundEffect.ChargementL'SoundEffect e tente de charger la source.
SoundEffect.PrêtLa source est chargée et prête à être lue.
SoundEffect.ErreurUne erreur s'est produite pendant l'opération, par exemple un échec du chargement de la source.

volume : real

Cette propriété définit le volume de lecture de l'effet sonore.

Le volume est mis à l'échelle de manière linéaire entre 0.0 (silence) et 1.0 (volume maximal). Les valeurs situées en dehors de cette plage seront limité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 variations linéaires du niveau sonore perçu, ce qui correspond à ce qu’un utilisateur attend normalement d’une commande 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 sourdine a changé.

Remarque : le gestionnaire correspondant est onMutedChanged.

playingChanged()

Le signal « playingChanged » est émis lorsque la propriété « playing » 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 le chargement de l'effet sonore est terminé source.

void play()

Lance la lecture de l'effet sonore et le répète autant de fois que le spécifie 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.