2008-09-15 9 views
6

C#でWAVファイルをWMAに(またその逆に)変換する最適なソリューションは何ですか?私はWindows Media Encoder SDKを使用してこれを実装していますが、Windows Media Encoderを自分のアプリケーションと共に配布する必要があります。 Windows Media Format SDKには、廃止予定のAPIの大きなセクションがあります。 Windows SDKから使用できるDirectX Media Objects(DMO)がいくつかあるようですが、書き込むためには非常に多くのinteropが必要です。.NETを使用してWAVをWMAに変換する

おそらく、コンバージョンを実行できる管理されていないライブラリの管理ラッパーが適切かどうかと思います。クローズドソースの商用アプリケーションの一部として配布するためのライセンスが必要です。

+0

wmaをwavに変換するサンプルがありますか?私が見たすべてのサンプルはwmaにwavされている –

答えて

1

私は個人的にそれを試していないが、それはあなたの要件を満たす必要があるようhttp://www.codeproject.com/KB/audio-video/WmaCompressor.aspxに見えるあなたがBASS libraryを見てみることができます

+0

はい、私はこれが現時点で利用可能な最も有望な解決策だと思います。同じ作者は、Windows Media Format SDKのC#ポートも行っています。私の唯一の懸念は、このコードを商用プロジェクトで使用できるかどうかは非常に不明であるということです。 –

1

...(それが「最良」ソリューションだかどうかわからそうではありません)。 エンコード/デコードを行うためのBASSWMAやBASSEncなどのアドオンがあります。 すべてのAPIには、BASS.Netラッパーを使用して.NETからアクセスできます。

BASSとBASS.Netの両方は、合理的な料金(それぞれ100ユーロ)で商業的に使用することができます。

1

C++/CLIを少し書くのが快適なら、DirectShowの周りにラッパーを作成する必要はありません。これは、C#アセンブリから直接呼び出すことができ、相互運用性について混乱させる必要はありません。 DirectShowを使用すると、ファイルの解析やI/Oを行う必要がないため、WMFを直接使用するよりもはるかに簡単です。すべて完了します。参考までに、WMAをC++の100行未満のWAVファイルにエンコード/デコードすることができる商用アプリケーションのコードをすべて、フレンドリーな.Netクラスにまとめました。スマートポインタを賢明に使用すると、このルートを下った場合に役立ちます。

0

www.mitov.comをご覧ください。そこに役立つかもしれないいくつかの図書館があります。商用製品で出荷するにはコピーを購入する必要がありますが、それは妥当な価格だと思います。

1

まず第一に、これを見て:

http://windowsmedianet.sourceforge.net/

を次に、IWMWritterの検索 - それを初期化すると、さまざまな方法を。生のPCMデータを提供し、wmaファイルを書き出します。

これについての詳細は、こちらのタグにお答えください。

関連する問題