Кроссплатформенные предложения аудио API

20

В настоящее время я пытаюсь добавить звук в свою игру. Я видел OpenAL и SDL, но я хотел бы знать, что еще там. Можете ли вы порекомендовать какие-нибудь хорошие кроссплатформенные аудио API для разработки игр?

реверберации
источник
1
«хорошо» субъективно. Было бы полезно, если бы у вас были какие-то особые требования, чтобы ответы могли быть более ориентированы на ваши конкретные потребности.
Тетрад

Ответы:

13

Вопрос переполнения стека: "Кроссплатформенный звуковой API для игр?"

Я согласен с принятым ответом:

Я большой поклонник библиотеки SFML. Он предоставляет дополнительные графические и сетевые функции, но что имеет отношение к этому вопросу, так это то, что он также имеет аккуратный пакет аудио.

Аудио функции:

  • По возможности использует аппаратное ускорение
  • Может загружать и сохранять стандартные форматы звука: ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k , rf64
  • Может загружать все аудио ресурсы прямо из файлов в памяти
  • Пространственное звучание 3D
  • Простой интерфейс для захвата аудио
  • Эффективно управляет памятью, так что вам не нужно беспокоиться о времени жизни или хранении ресурсов
  • Поддержка потоковой передачи больших файлов; Вы даже можете написать свой собственный потоковый класс для любого источника (сеть, ...)
  • Поддерживает многоканальные форматы (моно, стерео, 4.0, 5.1, 6.1, 7.1)

Веб-сайт: http://www.sfml-dev.org/

Рикет
источник
Спасибо за ваш отзыв. Я искал Game Development для существующих вопросов такого типа, но не Stack Overflow.
реверберация
По-видимому, вы не можете проголосовать за закрытие со ссылкой на сообщение на другом сайте SE, поэтому утверждение этого ответа, вероятно, является наилучшим возможным результатом для вопроса.
3
И независимо от того, это не обязательно должно быть закрыто. Например, некоторые люди могут поддержать выбор FMOD для Tetrad, который не был упомянут в вопросе SO. Я только поставил вопрос, чтобы основываться на нем, а не предполагать, что это точный дубликат, поскольку аудитория разработки игр не является точной копией SO-аудитории. :)
Ricket
Я не согласен; он должен быть закрыт и перенаправлен на вопрос SO. В противном случае мы разбиваем будущие ответы между двумя местами. И это точно такой же вопрос - это «Кроссплатформенные предложения аудио API [для разработки игр]», а другой - «Кроссплатформенный API звука для игр?»
2
Мы получаем ответ от разработчика игры (который, в данном случае, совпадает). Никто не заходил на этот сайт, чтобы получить ответы на вопросы о переполнении стека, они хотели узнать мнение профессионалов, особенно заинтересованных в поддержке сообщества разработчиков игр. Если они одинаковы, пусть будет так, потому что это не всегда так, и это одна из причин, по которой этот сайт полезен. См. Meta.gamedev.stackexchange.com/questions/3/… для более подробного объяснения.
Кристофер Хоренштейн
10

На мой взгляд, API-интерфейс де-факто для реализации звука в играх - это FMOD .

Это бесплатно для некоммерческого использования и относительно недорого для «случайной» (читай: инди) разработки.

Это немного излишне для простого требования «воспроизвести этот звук», но обеспечивает огромный набор функций, который хорошо протестирован на всех типах платформ.

тетрада
источник
2
Re: «Это немного излишне для простого требования« воспроизвести этот звук »- я думаю, пришло время разработчикам выйти за рамки простого« воспроизведения этого звука »! Мало кто соглашается на графический API, который только позволяет 2D-спрайты, и я думаю, что мы должны начать требовать больше от нашего аудио также.
Kylotan
1
К сожалению, FMOD очень глючит, и разработчики не спешат реагировать на проблемы. Для простого «воспроизведения этого звука» это хорошо, но как только вы начнете действительно использовать его, недостатки действительно начнут проявляться.
дэш-том-бэнг
Также, когда они говорят о кроссплатформенности, они действительно имеют это в виду. Единственное, что я знаю о том, что работает в большем количестве мест - это Unity.
Coderanger
Я использовал FMod в нескольких проектах iPhone и не находил его особенно глючным, пока я придерживался низкоуровневого API. FMod Designer конечно другой зверь. Я также нашел форумы довольно хорошими, и персонал там очень поддерживающий. Я слышал, что консольные версии FMod менее стабильны (и намного дороже), чем ПК / Mac / iPhone, но не имеют опыта работы с ними.
мартинпи
9

OpenAL

Мне очень нравится OpenAL как кроссплатформенная аудиотека. API немного низкоуровневый, но вы можете легко превратить его в более удобный интерфейс. Это действительно кроссплатформенная платформа с поддержкой первого класса: iPhone, Android, MacOSX, Windows и Linux.

Посмотрите на звуковой код двигателя Джинн . Два файла, может быть, 300 строк между ними (считая комментарии и т. Д.), И вы получите работоспособную звуковую систему.

Я никогда не создавал аудио-ориентированную игру, поэтому OpenAL может не соответствовать всем требованиям, если требуется экстремальный контроль.

deft_code
источник
5

Если FMOD не вариант, то Audiere - хорошая альтернатива с открытым исходным кодом. Он долгое время не обновлялся, но он кроссплатформенный, простой в использовании и имеет хороший набор функций .

Firas Assaad
источник
4

В дополнение к FMOD есть Audiokinetic Wwise , который все больше и больше используется в игровой индустрии в качестве профессионального кроссплатформенного инструмента звукового дизайна и API. Он имеет большой выбор эффектов (включая сверточную реверберацию), сложную звуковую логическую систему, наложение звука, профилирование, интерактивные музыкальные инструменты и т. Д. Он предоставляет хороший выбор алгоритмов декодирования, а также бесплатен для некоммерческих проектов.

decasteljau
источник
3

Двигатель Kowalski является управляемых данными кросс - платформенный аудио - библиотека , распространяемое по лицензии Zlib.

perarnetron
источник
0

Поскольку вам просто интересно узнать о других вещах, я пока не вижу упоминаний о Майлсе . Я не использовал это сам (хотя мы использовали это много лет назад в игре), однако эти игры используют это.

Роджер Перкинс
источник
0

libsoundio - это низкий уровень, но он кроссплатформенный и ориентирован на надежность. Это минимальный слой между вашей игрой и аудио бэкендом системы.

andrewrk
источник