Question

DirectSound est-il la meilleure couche d’abstraction audio pour Windows? Basculer mon application d’une très mauvaise implémentation sonore, construite sur un chipset spécifique vers une couche d’abstration.

App est natif Winform, .net 3.5. DirectX / DirectSound est le choix probable, mais un peu préoccupé par les frais généraux. Toutes les autres options? Ou est-ce idiot de penser à autre chose?

Était-ce utile?

La solution

Aujourd'hui, Microsoft ne reçoit pas le même amour de Microsoft que par le passé. En ce qui concerne DirectX, vous pouvez plutôt essayer XAudio2 ou XACT. Certaines personnes les aiment, d'autres les détestent. XAudio2 est plus bas niveau, alors que XACT est plutôt haut niveau. Tous deux sont accessibles à partir de Microsoft XNA, qui ressemble à Managed DirectX, mais qui est activement développé.

Mais vous n'êtes pas obligé d'utiliser ce qui est fourni avec DirectX. Essayez FMod si vous voulez quelque chose de génial. Ils ont toujours leur modèle de licence Shareware / Hobbyist et un modèle de licence Freeware, au cas où vous ne voudriez pas payer beaucoup.

Votre choix dépend de ce que vous voulez exactement faire avec le son.

Autres conseils

Vérifiez si SDL est plus esthétique.

Eh bien, vous pouvez essayer OpenAL . Ce que OpenGL représente pour Direct3D, c’est OpenAL pour DirectSound (3D). L'interface est assez similaire à OpenGL, si vous n'aimez pas cela, vous n'aimerez probablement pas OpenAL. De plus, je ne suis pas sûr que la version Windows de cette bibliothèque soit une implémentation propre, native ou appelle DirectSound et pourrait donc simplement être un (mince?) Wrapper dessus.

DirectSound est très bon.

Si vous avez besoin d'une faible latence ou d'un bon support pour l'entrée et la sortie du son via plusieurs cartes son en même temps, vous pouvez également consulter ASIO:

http://de.wikipedia.org/wiki/Audio_Stream_Input/Output

L’API waveOut ... est toujours une option. Il est difficile de travailler avec du code géré, mais vous pouvez jouer à plusieurs sons à la fois de cette façon (au moins sous XP et Vista).

Si vous avez besoin de jouer des sons occasionnellement, System.Media.SoundPlayer est très facile à utiliser. Cependant, vous ne pouvez pas jouer plus d’un son à la fois avec ce composant.

DirectSound est votre seule autre alternative majeure. Il possède un synthétiseur logiciel intégré, si vous en avez besoin.

EDIT: SDL semble intéressant. Merci, Sijin.

SharpDX semble intéressant. Je prévois de l’essayer pour remplacer Managed DirectX en raison des limitations de x86 de ce dernier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top