Высокопроизводительные аудиоприложения обычно требуют большей функциональности, чем простая возможность воспроизведения или записи звука. Они требуют отзывчивого поведения системы в реальном времени. Некоторые типичные случаи использования включают в себя:
- Цифровые аудио рабочие станции
- Синтезаторы
- Драм-машины
- Приложения для изучения музыки
- Приложения для караоке
- DJ микширование
- Аудио эффекты
- Видео/аудио конференции
В этом разделе объясняются общие принципы минимизации задержки звука . Он также предоставляет советы по выборке аудио , которые помогут вам выбрать оптимальную частоту дискретизации и рассмотреть плюсы и минусы использования чисел с плавающей запятой для представления ваших аудиоданных.
Оставшаяся часть раздела описывает две библиотеки, доступные для написания высокопроизводительных аудиоприложений:
- OpenSL ES — это специфичная для Android реализация спецификации API OpenSL ES™ от Khronos Group. OpenSL ES не рекомендуется для новых проектов. Разработчики приложений и поставщики промежуточного программного обеспечения должны выбрать Oboe или AAudio в качестве собственного аудиоинтерфейса.
- AAudio был разработан как легкая альтернатива библиотеке OpenSL ES для Android. API AAudio меньше и проще в использовании, чем OpenSL ES.
Дополнительные ресурсы
Чтобы узнать больше, воспользуйтесь следующими ресурсами:
Образец
Кодлабы
- Создание волн. Часть 1. Создание синтезатора
- Делаем больше волн — сэмплер
- Создайте музыкальную игру, используя гобой