6

C# で WAV ファイルを WMA (およびその逆) に変換するための最適なソリューションは何ですか? Windows Media Encoder SDK を使用してこれを実際に実装したことがありますが、アプリケーションと共に Windows Media Encoder を配布するのは、控えめに言っても面倒です。Windows Media フォーマット SDK には、非推奨としてマークされた API の大きなセクションがあります。Windows SDK から使用できる DirectX メディア オブジェクト (DMO) がいくつかあるように見えますが、作成する相互運用機能が非常に多くなります。

変換を実行できるアンマネージド ライブラリ用の適切なマネージド ラッパーがあるかどうか疑問に思っています。クローズドソースの商用アプリケーションの一部として配布できるライセンスが必要です。

4

5 に答える 5

1

まず、これを見てください:

http://windowsmedianet.sourceforge.net/

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

これに関する詳細については、私の回答にタグを付けてください。

于 2010-09-02T09:32:37.613 に答える
1

BASS ライブラリをご覧ください。エンコード/デコードを行うための BASSWMA や BASSEnc などのアドオンがあります。すべての API は、BASS.Netラッパーを使用して .NET からアクセスできます。

BASS と BASS.Net はどちらも、妥当な料金 (それぞれ 100 ユーロ) で商用利用のライセンスを取得できます。

于 2008-09-18T10:39:58.327 に答える
1

私は個人的に試したことはありませんが(それが「最良の」ソリューションかどうかはわかりません)、http://www.codeproject.com/KB/audio-video/WmaCompressor.aspxはあなたの要件を満たすはずです...

于 2008-09-15T16:29:35.207 に答える
1

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

于 2008-10-17T15:34:08.423 に答える
0

www.mitov.comをご覧ください。役立つライブラリがいくつかあります。商用製品で出荷するにはコピーを購入する必要があると思いますが、妥当な価格だと思います。

于 2008-10-20T17:01:51.520 に答える