La classe QSound donne accès aux ressources audio de la plateforme. Plus d'informations...
#include <QSound>
Hérite de QObject.
La classe QSound donne accès aux ressources audio de la plateforme.
Qt fournit l’opération audio la plus souvent requise dans les applications GUI : la lecture asynchrone d’un fichier sonore. Le moyen le plus simple pour réaliser cette opération est d’utiliser la fonction statique play() :
QSound::play("mysounds/bells.wav");
Alternativement, créez tout d’abord un objet QSound depuis le fichier sonore puis appelez le slot play() :
QSound bells("mysounds/bells.wav"); bells.play();
Une fois créé, l’objet QSound peut demander son fileName() et le nombre total de loops() (c’est-à-dire, le nombre de fois que le son sera joué). Le nombre de répétitions peut être modifié en utilisant la fonction setLoops(). Pendant que le son est joué, la fonction loopsRemaining() retourne le nombre de répétitions restantes. Utilisez la fonction isFinished() pour déterminer si le son a fini d’être joué.
Les sons joués en utilisant un objet QSound peuvent utiliser plus de mémoire que la fonction statique play(), mais peuvent aussi être joués plus immédiatement (dépendant du système à la base de l’équipement audio). Utilisez la fonction statique isAvailable() pour déterminer si l’équipement sonore existe sur la plateforme. Ces équipements actuellement utilisés varient :
Plateforme | Équipement audio |
---|---|
Microsoft Windows | Le système multimédia est utilisé. Seuls les fichiers sonores au format WAVE sont supportés. |
X11 | Le système de réseau audio est utilisé s’il est disponible. Dans le cas contraire, toutes les opérations travaillent en silence. NAS supporte les fichiers WAVE et AU. |
Mac OS X | NSSound est utilisé. La totalité des formats supportés par NSSound, incluant les formats QuickTime, sont supportés par Qt sur Mac OS X. |
Qt pour Linux embarqué | Une fonction intégrée de serveur de mixage sonore est utilisée, accédant directement à /dev/dsp. Seul le format WAVE est supporté. |
Symbian | CMdaAudioPlayerUtility est utilisé. La totalité des formats supportés par Symbian OS, ou par ses périphériques supportés sont également supportés par Qt. |
Notez que QSound ne supporte pas les ressources. Cela pourrait être fixé dans une future version de Qt.
QSound::QSound ( const QString & filename, QObject * parent = 0 )
Construit un objet QSound avec le nom de fichier filename
donné et son parent parent
.
Cela utilisera vraisemblablement plus de mémoire que l’utilisation de la fonction statique play(), mais en contrepartie, le lancement de la lecture du son devrait être plus rapide (dépendant du système audio installé).
Voir aussi play().
QSound::~QSound ()
Détruit l’objet sonore. Si le son n’a pas fini d’être joué, la fonction stop() est appelée avant qu’il ne soit détruit.
Voir aussi stop() et isFinished().
QString QSound::fileName () const
Retourne le nom de fichier associé à cet objet QSound.
Voir aussi QSound().
bool QSound::isAvailable () [static]
Retourne true
si l’équipement sonore existe sur la plateforme ; sinon retourne false.
Si aucun son n’est disponible, toutes les opérations de QSound travaillent en silence et rapidement. Une application peut choisir soit de prévenir l’utilisateur si le son est indispensable à l’application, soit d’opérer silencieusement sans ennuyer l’utilisateur.
Note : Retourne toujours true
sous Windows, car certains pilotes de carte son ne donnent pas l’information de leur disponibilité ou indisponibilité.
bool QSound::isFinished () const
Retourne true
si le son a fini d’être joué ; sinon retourne false.
Attention : Sous Windows, cette fonction retourne toujours true
pour des sons en lecture unique (non joué en boucle).
int QSound::loops () const
Retourne le nombre de boucles durant lesquelles le son sera joué.
Voir aussi loopsRemaining() et setLoops().
int QSound::loopsRemaining () const
Retourne le nombre de boucles durant lesquelles le son sera joué. (cette valeur est donc décrémentée lors de chaque boucle de jeu du son).
Voir aussi loops() et isFinished().
void QSound::play ( const QString & filename ) [static]
Joue le son stocké dans le fichier nommé filename
.
Voir aussi stop(), loopsRemaining(), et isFinished().
void QSound::play () [slot]
C’est une fonction surchargée.
Commence à jouer le son spécifié par l’objet QSound.
La fonction s’arrête immédiatement. Selon le système d’équipement audio, d’autres sons peuvent être arrêtés ou bien mélangés avec le nouveau son. Le son peut être joué de nouveau à n’importe quel moment, pouvant être mixé ou remplaçant la précédente lecture de son.
Voir aussi fileName().
void QSound::setLoops ( int number )
Définit le son de manière à ce qu’il se répète number
fois lorsqu’il sera joué.
Notez que la valeur négative -1 entrainera une boucle infinie.
Voir aussi loops().
void QSound::stop () [slot]
Arrête la lecture du son en cours.
Notez que sous Windows, la boucle en cours de lecture s’achèvera si un son est joué en boucle.
Voir aussi play().
Merci à <!zamnell!> pour la traduction et à <!johnlamericain!> ainsi qu’à <!hornetbzz!> pour leur relecture !
Copyright © 2025 Developpez LLC Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.