我正在为.NET 寻找一个好的音频压缩库。任何使用 MP3 的东西都已经过时了(因为许可问题)。基本上我只需要能够将常规 WAV 音频数据压缩成某种格式,然后解压缩回 WAV。最好是代码都是 .NET(C# 或 VB.NET),但我认为这不太可能。它应该是无损的或相对无损的(最好是 192 MP3),压缩比至少为 4:1。我更喜欢基于缓冲区的 API,但基于文件的 API 也可以。
有谁知道这样的事情?
我正在为.NET 寻找一个好的音频压缩库。任何使用 MP3 的东西都已经过时了(因为许可问题)。基本上我只需要能够将常规 WAV 音频数据压缩成某种格式,然后解压缩回 WAV。最好是代码都是 .NET(C# 或 VB.NET),但我认为这不太可能。它应该是无损的或相对无损的(最好是 192 MP3),压缩比至少为 4:1。我更喜欢基于缓冲区的 API,但基于文件的 API 也可以。
有谁知道这样的事情?
您是否考虑过使用 WMA?如果您使用托管 C++ 或 C++/CLI,那么围绕 Windows Media Format SDK 编写托管包装器非常容易。然后,更高级别的 VB.Net 或 C# 程序集可以轻松使用此程序集。只要您安装了 WMP,它甚至具有不需要任何额外依赖项的优势。
您是否考虑过.OGG格式?我不知道 .net 库是否可用,但 libogg 和 libvorbis C 库不是火箭科学且经过良好测试。对于一个简单的压缩/解压缩作业,您可能会使用一个处理所有细节的两个函数包装器。
围绕它们编写一个 .net 包装器应该很容易。
好处:
FLAC看起来很有趣。
Monkey's Audio是另一种(它甚至可以在.NET 中工作)。
您可能会查看 OGG 编解码器。我不确定是否有任何用 .NET 编写的,但它是开源的,所以如果这对您很重要,您应该能够轻松地移植一个。
看看FMod。具有良好的音频压缩、播放以及 3d 效果功能。它支持许多音频格式。它是用 C 编写的,但有一个很好的 C# 包装器。