IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QSound

La classe QSound donne accès aux ressources audio de la plateforme. Plus d'informations...

#include <QSound>

Héritage

Hérite de QObject.

Description détaillée

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.

Fonctions

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().

Remerciements

Merci à Louis du Verdier pour la traduction et à Jonathan Courtois ainsi qu'à Philippe Beaucart pour leur relecture !

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 4.6
Copyright © 2024 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !