Question

Je cherche une multi-plateforme (.Net et Mono sous Windows, MacOSX et Linux) façon de décoder wav, mp3 ou ogg tels que je peux alors jouer les flux décodés par DirectSound ou OpenAL comme vous le souhaitez.

Une solution qui peut décoder soit mp3 ou ogg seraient suffisantes - à la fois le décodage est pas nécessaire. Si elle (ou une autre solution) peut décoder wav aussi bien, ce serait idéal, mais n'est pas strictement nécessaire que je pourrais potentiellement convertir mes fichiers wav en mp3 ou ogg.

Une solution qui ne peut décoder les fichiers wav est seulement une solution partielle, mais je vais prendre ce que je peux obtenir. ; -)

Voici ce que je l'ai déjà regardé:

  • DirectSound et Alut à la fois support de décodage WAV, mais Alut a été désapprouvée.
  • ffmpeg va décoder à peu près tout, mais il ne semble pas avoir une version stable commune sur toutes les plateformes?
  • Je ne l'ai pas essayé csvorbis encore, mais il est très vieux et je ne suis pas sûr de ce que son statut actuel.

Vous êtes plus que bienvenus pour essayer de me pursuade que l'une de ces solutions ci-dessus est en fait la meilleure option.

Merci.

Était-ce utile?

La solution

Pour simple support pour les fichiers WAV, vous pouvez regarder la mise en œuvre de mono mcs / classe / Système / System.Media / AudioData.cs ( http://anonsvn.mono-project.com/viewvc/trunk/mcs/class/System/System.Media/ ) .

Pour le décodage des fichiers audio ogg vous pouvez consulter le module csvorbis dans le serveur sn mono: http://anonsvn.mono-project.com/viewvc/trunk/csvorbis/

Autres conseils

Vous ne l'avez pas mentionné le genre de licence que vous cherchez. J'ai eu d'excellents résultats avec FMOD , qui est disponible gratuitement pour non-commercial projets. Il joue un grande diversité de formats, y compris ogg et mp3, et dispose d'une API étendue pour contrôler comment les jouer. Il est multi-plateforme, comme vous avez besoin.

FMOD vise les jeux dans une large mesure; Je ne serais pas surpris si elle est déjà avec d'excellentes caractéristiques 3D (bien que je ne suis pas sûr).

Comme vous pouvez le dire que je suis assez fan, ce qui est la plupart du temps parce qu'il était étonnamment indolore pour obtenir un projet vide C # pour lire un fichier OGG pour la première fois.

Vous devriez être en mesure de lire des fichiers .wav directement avec System.Media.SoundPlayer. Je ne sais pas si cela aide votre cas d'utilisation.

J'ai travaillé avec ffmpeg et jusqu'à présent je l'aime. Oui, il y a quelques problèmes à travers les rejets, mais il est le plus efficace de tous.

Pour répondre en partie à ma propre question, il se trouve qu'il est assez facile d'écrire votre propre chargeur de WAV. J'ai utilisé cet article qui décrit le format de fichier wav:

http://www.sonicspot.com/guide/wavefiles.html

comme toujours, fmod est votre réponse ... S'il vous plaît ne hésitez pas à obtenir la solution à tous vos problèmes sur http://www.fmod.org /index.php/download#FMODExProgrammersAPI

https://sites.google.com/site/cobnut3d/

SlimDX.DirectSound -. Est un exemple de code C #

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