Об этом проекте
FAudio — это открытая реализация аудиобиблиотек Microsoft DirectX Audio, разработанная для проекта FNA. Заявленная цель — полная поведенческая точность, а не просто совместимый набор API, чтобы программное обеспечение, написанное под оригинальные библиотеки, работало одинаково на открытых платформах.
Область охвата
Проект охватывает несколько связанных аудиоAPI:
- XAudio2 — низкоуровневый API микширования и воспроизведения звука
- X3DAudio — вспомогательная библиотека пространственного звука
- XAPO — кроссплатформенный интерфейс объектов обработки звука
- XACT3 — высокоуровневая среда выполнения инструмента создания звука
Назначение
FAudio был написан для поддержки пространств имён Audio и Media в FNA. Приложения получают к нему доступ через FAudio# — привязку для C#, расположенную в каталоге csharp/ репозитория, что делает его пригодным для использования из игрового кода на .NET.
Зависимости
FAudio зависит исключительно от SDL 3.2.0 или новее. В README отмечается, что проект никогда явно не использует среду выполнения C, что уменьшает объём зависимостей и делает поведение более предсказуемым на разных платформах.
Сборка
Инструкции по сборке различаются в зависимости от целевой платформы:
- В Unix-подобных системах проект использует CMake: создайте каталог сборки, запустите cmake для дерева исходников, затем make.
- В Windows файлы сборки предоставлены в каталоге visualc/.
- Для Xbox GDK см. visualc-gdk/.
- Для универсальных бинарников iOS, tvOS и macOS см. каталог Xcode/.
Тестирование
FAudio поставляется с модульными тестами, которые документируют поведение XAudio2 и предназначены для запуска против FAudio с целью подтверждения совпадающего поведения. По умолчанию эти тесты не собираются; установка BUILD_TESTS=1 включает их, после чего можно запустить бинарник faudio_tests. Отдельный Makefile в tests/ собирает исполняемый файл для Windows (требуется mingw-w64), чтобы те же тесты можно было запустить против настоящей реализации XAudio2 для сравнения.
Лицензия и сообщество
FAudio выпускается под лицензией zlib. Проблемы и патчи обрабатываются через репозиторий проекта на GitHub, а веб-сайт проекта размещён на fna-xna.github.io.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.