7
votes

Manière recommandée de travailler avec l'audio dans les applications .NET?

J'essaie de commencer avec une application audio simple sous .NET 3.5 (de préférence dans VB.NET, mais utilisera volontiers C #). Ce que je voudrais faire est de:

  • enregistrer en continu audio de (la valeur par défaut) Dispositif d'entrée audio Windows dans le format PCM à 8 bits-Per-échantillon
  • Pour tous les n octets capturés, faites une analyse sur l'audio brut (certains calculs RMS et / ou SPL - essentiellement de ce dont vous auriez besoin pour un joli graphique à barres de barres)
  • Si le fragment audio est trouvé intéressant après analyse, enregistrez-le à l'aide d'un format de fichier compressé (E.G. MP3)

    La première chose que j'ai remarquée est que ce support audio dans le cadre de base .NET est à peu près inexistant. Googling autour d'un peu trouvé du code de l'échantillon, principalement en utilisant Gédéd DirectX. Cependant, l'absence de documentation MSDN, millésime des bibliothèques (2004) et l'exception MDA menaçant suivante dans vs.net 2008, convaincus que c'est une impasse: xxx

    ... que je pense que je pense que c'est "N'ayez même pas ESSAYER d'utiliser ce matériel". Est-ce que je manque quelque chose ici ou est géré DirectX vraiment mort? Une autre question Stackoverlow suggère que XNA est un remplaçant pour dirigé dirigé, mais il manque Le genre de fonctionnalité de bas niveau dont j'ai besoin.

    Ainsi, quelle abi ou bibliothèque tierce partie est réellement utile pour le développement audio sous .NET? Utilisant Com Interop ou p / invoke est acceptable, à condition qu'il existe un code d'exemple de .NET Decent disponible pour commencer avec ...


0 commentaires

4 Réponses :


4
votes

Avez-vous regardé dans Naudio sur CodePlex ? On dirait que cela a les fonctionnalités dont vous avez besoin.


0 commentaires

1
votes

Si vous souhaitez essayer une solution sonore basée sur DirectX, vous pouvez utiliser SLIMDX . Il prend en charge les interfaces DirectSound et Xaudio.


1 commentaires

Merci, une autre solution prometteuse que mon faible Google-fu ait négligé



2
votes

J'ai été fan de BASSE BASS qui a une API .NET.


0 commentaires

1
votes

Un autre est FMOD .


2 commentaires

Merci - un peu cher pour un usage commercial, cependant. Un autre que j'ai trouvé entre-temps est Ambiera.com/irrklang/irklang_pro.html , qui souffre également d'une licence étrange


Je ne pense pas que la licence de Irrklang est celle étrange ... Le développeur vous donne la possibilité de sélectionner la licence le plus approprié pour votre situation.