2009-12-10 2 views
6

私は.NET 3.5の下で簡単なオーディオアプリケーションを使い始めようとしています(VB.NETが好きですが、C#をうれしく使うでしょう)。私は何をしたいのは、次のとおりです。.NETアプリケーションでオーディオを使用する推奨される方法はありますか?

  • 継続的にいくつかの分析を行う、すべてのNについては、8ビットあたりのサンプルPCM形式
  • 中(デフォルト)Windowsの音声入力デバイスがキャプチャバイトからオーディオを録音します生のオーディオ(一部のRMSおよび/またはSPLの計算 - 基本的に何をかなりVUバーグラフブツのために必要があるだろう)
  • オーディオ断片を分析した後、興味深い発見された場合、圧縮ファイル形式を使用して、それを保存する(例えばMP3私が気づい)

まず最初は、基本的な.NET Frameworkのオーディオのサポートがあるということですかなり存在しない。いくつかのサンプルコードはほとんどがマネージドDirectXを使って見つかりました。しかし、MSDNのドキュメント、ライブラリ(2004)のヴィンテージとVS.NET 2008で、次の威嚇MDA例外の欠如は、これが行き止まりである私を説得:

Message: DLL 'Microsoft.DirectX.dll' is attempting managed execution inside 
OS Loader lock. Do not attempt to run managed code inside a DllMain or image 
initialization function since doing so can cause the application to hang. 

...私は緩く翻訳物を考えています「でも、しないでください。でこの物を使ってみてください。私はここで何かを見逃しているのですか、またはマネージドDirectXは本当に死んでいますか? Another StackOverlow questionは、XNAがManaged DirectXの代わりであることを示唆していますが、必要とする低レベルの機能性が欠けています。 APIまたはサードパーティのライブラリは実際に.NETの下のオーディオ開発に有用である

ので、? COM interopまたはP/Invokeを使用することは可能です。できるだけ多くの.NETサンプルコードがあれば受け入れられます。

答えて

4

NAudio on CodePlexを調べましたか?あなたに必要な機能があるようです。

+0

+1、非常に有望です!今すぐ試してみてください... – mdb

1

あなたがSlimDXを使用することができるのDirectXベースのサウンドソリューションを試してみたい場合。 DirectSoundおよびXAudioインターフェイスをサポートしています。

+0

私の弱いGoogle-fuが何とか見落としてくれたおかげさまで、もう一つの有望な解決策 – mdb

2

私は、.NET APIを持つBASS libraryのファンしてきました。

+0

私のライセンスは、私にとってはやや劣っています。まだ、ブックマークされています... – mdb

1

もう一つはFMODです。

+0

ありがとうございます - しかし、商業利用のための高価なタッド。その間に私が見つけた別の1つはhttp://www.ambiera.com/irrklang/irrklang_pro.htmlであり、奇妙なライセンスにも苦しんでいます。 – mdb

+0

IrrKlangのライセンスはそれほど奇妙ではないと思います...開発者はあなたにあなたの状況に最も適したライセンスを選択するオプション。 –

関連する問題