我正在尝试处理原始音频数据,以便通过OpenAL进行操作和播放。到目前为止,自从我编写了自己的.wav文件阅读器并一直在使用该文件阅读器以来,一切工作都很好。但是,我的目标是让人们导入自己的音乐。这意味着我的程序应支持各种音频格式和编解码器,包括至少MP3,Ogg和FLAC。
现在,与读取.wav文件不同,其他格式不是那么简单。现在,我可以编写自己的阅读器和/或使用各种现有库的包装程序,例如libsnd和ogg库,但我不想重蹈覆辙。所以我的问题是:是否已经有一个库,可以从Mono中以各种格式获取原始字节音频数据?
我看过NAudio,但是它高度依赖于各种Win32 API调用,这对我来说是不行的,因为我打算使我的程序成为多平台。目前,我只关心获取数据以供读取和回放之用,我无意操纵,混合或进行任何其他类型的计算工作。
编辑:
我忘记的一个重要因素是许可。我希望使用基于MIT的许可或其他开放许可,这样我就可以在商业软件中免费使用该库。例如,BASS.Net库就不存在了,因为对该库的许可超出了我的预算。
编辑2:
irrKlang不支持Mono。
最佳答案
在再次尝试NAudio之后,我注意到他们删除了对Win32 API的一些依赖。现在,我可以通过Mono成功加载WAV文件,并且有可用的扩展名支持FLAC和OGG。由于许可问题,MP3支持似乎仅适用于Windows,但这没关系。
关于audio - 单声道音频阅读库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14894774/