Об этом проекте
Oboe — это библиотека на C++, созданная для упрощения разработки высокопроизводительных аудиоприложений на Android. Её основная цель — предоставить упрощённый API, работающий на различных уровнях Android API, вплоть до API level 16 (Jelly Bean).
Ключевые особенности, описанные в README:
- Совместимость с API 16 и выше, что, по заявлению проекта, охватывает подавляющее большинство устройств Android.
- Автоматический выбор аудио API: OpenSL ES на API 16+ или AAudio на API 27+, с целью достижения наилучшей аудиопроизводительности на целевом устройстве.
- Автоматическая настройка задержки.
- Современный стиль C++, предназначенный для поддержки чистого и элегантного кода.
- Обходные решения для некоторых известных проблем.
- Использование популярными приложениями и фреймворками, со страницей в вики, перечисляющей их.
Документационные ресурсы включают руководство по началу работы, полное руководство по Oboe, справочник по API, историю аудиофункций и ошибок Android по версиям, руководство по миграции для приложений, использующих OpenSL ES, FAQ, вики и публичную дорожную карту, где пользователи могут голосовать за функции или проблемы.
Указанные каналы сообщества: сообщество Reddit (r/androidaudiodev) и вопросы на StackOverflow с тегом #oboe.
Для тестирования проект предоставляет приложение OboeTester для измерения задержки, сбоев и подобных метрик, а также модульные тесты Oboe. Также есть видеоматериалы, включая плейлист по началу работы, доклад Android Dev Summit о низкой задержке аудио и доклад ADC об оптимизации аудиоприложений Android.
Примеры кода включают образцы приложений в каталоге samples, полное приложение для обработки эффектов под названием FXLab в apps/fxlab и связанный коделаб Rhythm Game. Также упоминается демонстрация интеграции стороннего Ableton Link.
Проект приветствует pull request'ы и направляет участников к своим руководствам по внесению вклада. История версий доступна на странице релизов, а информация о лицензировании — в файле LICENSE.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.