寻找任何简单的声音库,以便在不是GPL或LGPL的窗口中播放。也就是说,软件本身不是AND它使用的任何库后端都不是GPL / LGPL。
我一直在寻找很长一段时间,我发现看起来很有前景的所有东西(Allegro,SFML等)都有一些GPL或LGPL代码。我不打算开始关于许可的辩论,这只是我的偏好,所以任何知道简单事情的人都请告诉我。
我不一定在寻找跨平台解决方案,但我不想依赖像PlaySound这样的内置Windows方法...... :)。任何帮助将不胜感激!
P.S。为了清楚我的意思,简单来说,这是我需要的最多功能:
答案 0 :(得分:5)
PortAudio是一个低级声音库(在C中),它使用等效的MIT许可证
答案 1 :(得分:3)
aumiks::Lib aumiksLibrary(100, aumiks::STEREO_16_44100);
ting::Ref<aumiks::WavSound> snd = aumiks::WavSound::LoadWAV("sample.wav");
ting::Ref<aumiks::Channel> ch = snd->Play();
答案 2 :(得分:2)
在做了更多的挖掘之后,我设法找到了几个合适的库:
使用示例(音频):
audio::SourceRef mAudioSource;
mAudioSource = audio::load( loadResource( MY_RESOURCE ) );
audio::Output::play( mAudioSource );
TempAU
http://www.tempau.com/
Sound sound("somefile.mp3"); // Create sound object
sound.play(); // Play it!
TempAU的来源尚未发布,因为它是全新的。我在开发人员的论坛上看到了一些评论,他计划在不久的将来发布它,我收集的内容。 TempAU现在使用的是LGPL的库,所以我不打算使用它,但我认为无论如何我都会提到它,因为一旦源出来我肯定在ogg支持或者开放的东西中链接起来是微不足道的。
Cinder是根据修改后的BSD许可证授权的,因此几乎唯一的许可证要求是,在与源或二进制文件一起分发时,您可以随处附带许可证副本(ReadMe,无论如何)。因为我已经在cinder中编写了绝大多数功能,所以我只是去掉音频部分并将其构建到自己的lib中。再次感谢,希望这有用!
修改强>
最后一件事,我从这个优秀的lib列表中偶然发现了这两个库。该列表提供了每个lib中功能的简短描述,以及库发布的许可证。
http://content.gpwiki.org/index.php/Libraries
修改...再次强>
SDL,从版本1.3+开始是zlib licensed。
最后一次编辑......
我一直在与TempAU的开发者交谈,他已经在新的BSD许可下发布了谷歌代码的源代码。
答案 3 :(得分:2)
libsoundio比你要求的要低一些,但它很强大并且MIT获得许可。
答案 4 :(得分:1)
IrrKLang不是GPL(它是商业产品):
irrKlang是一个高级2D和3D跨平台(Windows,Mac OS X,Linux)声音引擎和音频库......可以通过极其简单的API访问。
我已经习惯了,而且非常简单。
答案 5 :(得分:1)
BASS在没有命名第三方许可的情况下“免费用于非商业用途”(它看起来与我的麻省理工学院许可相同,但IANAL),我一直很喜欢使用它的C语言API。
他们对每件产品商业许可证的定价也非常合理。