Кроссплатформенная звуковая библиотека C ++, не являющаяся GPL / LGPL? - PullRequest
5 голосов
/ 10 ноября 2011

Поиск любых простых звуковых библиотек для воспроизведения в окнах, отличных от GPL или LGPL.То есть само программное обеспечение не является И ни одна из используемых им библиотек не является GPL / LGPL.

Я давно искал и все, что я нахожу перспективным (Allegro, SFML и т. Д.)оказывается, есть некоторый код GPL или LGPL в нем.Я не пытаюсь начать дискуссию о лицензировании, это просто мои предпочтения, поэтому, если вы знаете что-то простое, пожалуйста, дайте мне знать.

Я не обязательно ищу кроссплатформенное решение, но я неЯ тоже не хочу полагаться на встроенные методы Windows, такие как PlaySound .. :).Любая помощь будет принята с благодарностью!

PS Просто чтобы понять, что я имею в виду под простым, речь идет о большинстве функций, которые мне требуются:

  1. Предоставление имени файла или данных в памятик функции воспроизведения.
  2. Если возможно, определите обратный вызов для завершения звука.

Ответы [ 6 ]

5 голосов
/ 10 ноября 2011

PortAudio - это звуковая библиотека низкого уровня (в C), которая использует эквивалент лицензии MIT

3 голосов
/ 20 февраля 2012

http://aumiks.googlecode.com

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 голосов
/ 29 сентября 2015

libsoundio - немного более низкий уровень, чем вы запрашиваете, но он надежен и лицензирован MIT.

2 голосов
/ 11 ноября 2011

После нескольких копаний мне удалось найти пару подходящих библиотек:

Cinder
http://libcinder.org/

Пример использования (аудио):

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, я просто собираюсь вырезать аудио часть и встроить ее в свою собственную библиотеку.Еще раз спасибо, надеюсь, это полезно!

Редактировать
И последнее, я наткнулся на обе эти библиотеки из этого превосходного списка библиотек.Список содержит краткое описание функциональных возможностей каждой библиотеки, а также лицензию, под которой публикуется библиотека.

http://content.gpwiki.org/index.php/Libraries

Редактировать ... еще раз
SDL, начиная с версии 1.3+, лицензирован zlib .

Последнее редактирование ...
Я разговаривал с разработчиком TempAU, и он выпустил исходный код для кода Google под новой лицензией BSD.

http://code.google.com/p/tempau/

1 голос
/ 10 ноября 2011

BASS"бесплатен для некоммерческого использования" без указания сторонней лицензии (она выглядит так же, как лицензия MIT для меня, но IANAL), и мне всегда нравилось работать с его C API.

Цены на коммерческие лицензии для каждого продукта также вполне разумны.

1 голос
/ 10 ноября 2011

IrrKLang не является GPL (это коммерческий продукт):

irrKlang - это двухуровневый и трехмерный кросс-платформенный звук (Windows, Mac OS X, Linux) высокого уровнядвигатель и аудио библиотека ... могут быть доступны через чрезвычайно простой API.

Я уже использовал это, и это довольно просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...