Я бы хотел сделать очень простую вещь: воспроизвести аудиоданные PCM из памяти.
Аудиосэмплы будут получены из алгоритмов синтеза звука, предварительно загруженных файлов сэмплов или чего-то еще. Мой вопрос действительно о том, как воспроизводить буферы, а не о том, как заполнить их данными.
Итак, я ищу лучший способ повторно реализовать мой старый, устаревший AudioWrapper (который был основан на AudioUnits V1), но я не смог найти в документации Apple ] API, который будет выполнять следующие задачи:
Я подумываю об использовании OpenAL, но действительно ли это лучший вариант? Я видел отрицательных отзывов об этом, он может быть слишком сложным и излишним, а также может увеличить производительность?
В худшем случае, у меня могут быть две разные реализации этого AudioWrapper , но, если возможно, мне бы очень хотелось избежать одной версии для каждой системы (ios, 10.5, 10.6, 10.7 ...). Также это будет на C ++.
РЕДАКТИРОВАТЬ: Мне нужна хорошая задержка, система должна реагировать на действия пользователя менее чем за 20 мс (буферы должны быть от 128 до 512 выборок при 44 кГц)