Developpez.com - Qt
X

Choisissez d'abord la catégorieensuite la rubrique :

Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
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>

Voir la position dans l'arbre des classes.

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 !

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. «Le projet de loi des droits du développeur» : quelles conditions doivent remplir les entreprises pour que le développeur puisse réussir ? 73
  2. Les développeurs détestent-ils les antivirus ? Un programmeur manifeste sa haine envers ces solutions de sécurité 27
  3. Une nouvelle ère d'IHM 3D pour les automobiles, un concept proposé par Digia et implémenté avec Qt 3
  4. Qt Creator 2.5 est sorti en beta, l'EDI supporte maintenant plus de fonctionnalités de C++11 2
  5. Vingt sociétés montrent leurs décodeurs basés sur Qt au IPTV World Forum, en en exploitant diverses facettes (déclaratif, Web, widgets) 0
  6. PySide devient un add-on Qt et rejoint le Qt Project et le modèle d'open gouvernance 1
  7. Thread travailleur avec Qt en utilisant les signaux et les slots, un article de Christophe Dumez traduit par Thibaut Cuvelier 1
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 102
  2. Pourquoi les programmeurs sont-ils moins payés que les gestionnaires de programmes ? Manquent-ils de pouvoir de négociation ? 53
  3. «Le projet de loi des droits du développeur» : quelles conditions doivent remplir les entreprises pour que le développeur puisse réussir ? 73
  4. Les développeurs détestent-ils les antivirus ? Un programmeur manifeste sa haine envers ces solutions de sécurité 27
  5. Qt Commercial : Digia organise un webinar gratuit le 27 mars sur la conception d'interfaces utilisateur et d'applications avec le framework 0
  6. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  7. 2017 : un quinquennat pour une nouvelle version du C++ ? Possible, selon Herb Sutter 11
Page suivante
  1. Linus Torvalds : le "C++ est un langage horrible", en justifiant le choix du C pour le système de gestion de version Git 100
  2. Comment prendre en compte l'utilisateur dans vos applications ? Pour un développeur, « 90 % des utilisateurs sont des idiots » 229
  3. Quel est LE livre que tout développeur doit lire absolument ? Celui qui vous a le plus marqué et inspiré 96
  4. Apple cède et s'engage à payer des droits à Nokia, le conflit des brevets entre les deux firmes s'achève 158
  5. Nokia porte à nouveau plainte contre Apple pour violation de sept nouveaux brevets 158
  6. Quel est le code dont vous êtes le plus fier ? Pourquoi l'avez-vous écrit ? Et pourquoi vous a-t-il donné autant de satisfaction ? 83
  7. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 101
Page suivante

Le blog Digia au hasard

Logo

Créer des applications avec un style Metro avec Qt, exemples en QML et C++, un article de Digia Qt traduit par Thibaut Cuvelier

Le blog Digia est l'endroit privilégié pour la communication sur l'édition commerciale de Qt, où des réponses publiques sont apportées aux questions les plus posées au support. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

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.7
Copyright © 2012 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 !
 
 
 
 
Partenaires

Hébergement Web

Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -