(Courriels de diversion: <brutaux@raccourcissements-cooptee.com> <demonstrateurs@decodes-religieuses.com> <courbatures@octroyait-desapprouvions.com> <demeuriez@deblayerais-mordantes.com> <parachuterons@synchronique-irlandais.com> <commencera@decrochees-suggerees.com> <ajournes@espionnent-tyrannisais.com> <craques@discuterons-gemination.com> <centuplant@freina-expectatives.com> <dynamisais@conquête-suspension.com> )
Franz-Albert VAN DEN BUSSCHE wrote: > Je recherche des conseils pour choisir une library API pour programmer le > traitement des sons avec des fonctions très ciblées. Les fonctions de base > que je cherche sont: > - lecture d'un fichier WAV et stockage du contenu en mémoire > - concaténation de deux zones mémoires lues comme précédemment pour obtenir > une unique zone mémoire résultante > - harmonisation du son contenu en zone mémoire > - jouer un WAV stocké en mémoire Tiens, c'est rigolo, je m'intéresse à ça pour Arkhart en ce moment. Je me suis penché sur OpenAL. C'est une spécification d'API au même titre qu'OpenGL bien que beaucoup moins bien suivie. Les fonctions de bases permettent tout ce que tu dis sauf le 3ième tiret. Sauf qu'a priori, tu n'as pas besoin de jouer un son spatialisé. Regarde donc du côté de SDL_mixer ou de la ClanLib si tu préfères le C++. Je ne me suis pas encore penché dessus mais je pense que chacune de ces bibliothèques te permet de lire et de jouer des fichiers en gérant des buffers. Concernant le MP3 ou le OGG, cela signifie sûrement que tes fichiers seront plus volumineux. Il te faut alors expérimenter une méthode de streaming. Tu décodes le flux avec les fonctions de l'API MP3 ou OGG, en lisant petit à petit dans un buffer. Pendant que tu lis ce buffer, tu remplis le second. Dès que le premier est terminé, tu lance la lecture du second et tu re-remplis le premier. Si tu as programmé un peu du graphique, c'est la technique du double-buffer. OpenAL permet de mettre plusieurs buffers à la chaîne dans ses sources (les sources lisent des buffers dans OpenAL). En prenant des buffers suffisament gros ou en en prenant plus de deux, tu devrais pouvoir lire de manière continue. Peut-être que tout ça est déjà codé dans SDL_mixer ou ClanLib. -- tharibo AT nekeme.net http://www.nekeme.net : Promouvoir le libre ludique "Le temps ne fait rien à l'affaire, quand on est con, on-est-con !" -- Georges Brassens -------------------------------------------------------------------- Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>