我正在尝试使用原始音频数据进行操作和使用OpenAL进行播放。到目前为止,由于我编写了自己的.wav文件阅读器并且一直在使用它,所以一切都很好用。但是,我的目标是让人们输入自己的音乐。这意味着我的程序应该支持各种音频格式和编解码器,包括至少MP3,Ogg和FLAC。
现在,与阅读.wav文件不同,其他格式并不那么简单。现在我可以编写自己的读者和/或使用各种现有库的包装器,如libsnd和ogg库,但我宁愿不重新发明轮子。所以我的问题是:是否已经有一个库允许在Mono中从各种格式中获取原始字节音频数据?
我看了一下NAudio,但它高度依赖于各种Win32 API调用,这对我来说是不行的,因为我打算让我的程序成为多平台。目前我只关心为读取和回放目的而获取数据,我不打算进行操作,混合或任何其他类型的计算工作。
修改 我忘记的一个重要因素是许可。我更喜欢基于MIT的许可或其他开放许可,允许我在商业软件中免费使用该库。例如,BASS.Net库是不可能的,因为图书馆的许可超出了我的预算。
EDIT2: irrKlang不支持Mono。
答案 0 :(得分:0)
在给了NAudio另一次尝试后,我注意到他们删除了对Win32 API的一些依赖。我现在可以通过Mono成功加载WAV文件,并且有可用的扩展支持FLAC和OGG。由于许可问题,MP3支持似乎仅适用于Windows,但这没关系。