URL: https://linuxfr.org/forums/general-general/posts/jouer-des-sons Title: jouer des sons Authors: goeb Date: 2009年11月22日T18:03:05+01:00 Tags: Score: 0 Bonjour, Après de nombreux essais infructueux, je sollicite votre aide pour jouer des sons dans un programme. Voici ce que je voudrais : - ce programme est une sorte de jeu - le programme joue toutes les secondes des sons (fichiers .wav) d'une longueur de l'ordre de la seconde (c'est une voix qui prononce un mot). - de temps en temps (si l'utilisateur clique mal) on joue un son indiquant l'erreur ("ding!") voici les problèmes que je rencontre : - il y a des craquements par-ci par-là, parfois des grésillements. - il y a parfois de l'echo Impossible d'avoir un son nickel, alors que tout le monde y arrive ! Je dois rater quelque chose. Voici ce que j'ai essayé et l'état de mes connaissances : - j'ouvre le device audio, en précisant : nombre de canaux, fréquence d'échantillonnage et taille des échantillons - j'ouvre mes fichiers .wav just'avant de jouer le son, et je les balance vers le device audio. (dans un thread séparé je crois en général) J'ai essayé en C, C++, python. Avec les bibliothèques SDL, SDL_mixer, tkSnack, ossdev, alsaaudio, sox. Exemple de code avec la lib SDL et SDL_mixer : au début : Mix_OpenAudio(48000, AUDIO_S16SYS, 1, 2048); et ensuite, périodiquement (pour simplifier j'ai ôté la gestion des erreurs) : £spaces£ £/spaces£Mix_Chunk *sound = 0; £spaces£ £/spaces£sound = Mix_LoadWAV(filename); £spaces£ £/spaces£ £spaces£ £/spaces£Mix_PlayChannel(-1, sound, 0); // -1 for any channel J'ai aussi essayé d'ouvrir/fermer le device audio à chaque fois, mais ça ne change rien. Merci.

AltStyle によって変換されたページ (->オリジナル) /