2013-02-15 3 views
1

J'essaie de travailler avec des données audio brutes pour la manipulation et la lecture avec OpenAL. Jusqu'à présent, tout fonctionne bien et dandy depuis que j'ai écrit mon propre lecteur de fichiers .wav et j'ai travaillé avec cela. Cependant, mon but est que les gens importent leur propre musique. Cela implique que mon programme devrait prendre en charge divers formats audio et codecs, y compris atleast MP3, Ogg et FLAC.Bibliothèque de lecture audio pour Mono

Maintenant, contrairement à la lecture d'un fichier .wav, les autres formats ne sont pas aussi simples. Maintenant, je pourrais éventuellement écrire mes propres lecteurs et/ou utiliser des wrappers de diverses bibliothèques existantes telles que libsnd et la bibliothèque ogg, mais je préfère ne pas réinventer la roue. Donc, ma question est la suivante: existe-t-il déjà une bibliothèque qui permet de récupérer les données audio en octets brutes de différents formats en Mono? J'ai jeté un oeil à NAudio, mais il dépend fortement de divers appels d'API Win32, ce qui est une erreur pour moi car j'ai l'intention de rendre mon programme multi-plateforme. Pour l'instant, je ne me soucie que d'obtenir les données à des fins de lecture et de lecture, je n'ai pas l'intention de manipuler, de mélanger ou d'effectuer d'autres travaux de calcul.

EDIT: Un facteur important que j'ai oublié était la licence. Je préférerais une licence basée sur le MIT ou une autre licence ouverte qui me permettrait d'utiliser la bibliothèque gratuitement dans un logiciel commercial. La bibliothèque BASS.Net par exemple est hors de question, car la licence de la bibliothèque est hors de mon budget.

EDIT2: irrKlang ne prend pas en charge Mono.

+1

Il ya ma vieille question SO concernant [jouer Ogg/Vorbis purement en .NET] (http://stackoverflow.com/q/35896/3205) (y compris une solution de travail), mais cela ne couvre pas les autres formats. – skolima

Répondre

0

Après avoir essayé NAudio un autre essai, j'ai remarqué qu'ils ont supprimé certaines dépendances sur l'API Win32. Je peux maintenant charger avec succès les fichiers WAV via Mono, et il y a des extensions disponibles qui supportent FLAC et OGG. La prise en charge MP3 semble fonctionner uniquement pour les problèmes de licence Windows, mais c'est correct.

+0

J'ai vu sur [discussion Naudio] (http://naudio.codeplex.com/discussions/266095) ce commentaire de l'auteur Naudio: "J'ai fait un décodeur MP3 géré (nlayer.codeplex.com), mais je n'ai pas a eu le temps de l'intégrer correctement dans NAudio » – chrish