Core Audio охватывает множество вещей, таких как чтение и запись различных форматов файлов, преобразование кодировок, вытягивание кадров из потоков и т. Д. Большая часть этой функции собирается как «Audio Toolbox». Core Audio также предлагает несколько API-интерфейсов для обработки потоков аудио, для воспроизведения, захвата или для обоих. Самый низкий уровень - это Audio Units, который работает с несжатым (PCM) аудио и имеет некоторые приятные вещи для применения эффектов, микширования и т. Д. Очереди аудио, реализованные поверх аудиоустройств, намного проще, потому что они работают со сжатыми форматами (не только PCM) и избавит вас от некоторых проблем с потоками. OpenAL также реализуется поверх аудиоустройств; вам все равно придется использовать PCM, но, по крайней мере, нить не страшна. Разница в том, что, поскольку это не от Apple, ее соглашения по программированию полностью отличаются от Core Audio и остальной части iOS (наиболее очевидно, что это push-интерфейс: если вы хотите использовать OpenAL, вы опросите свои источники, чтобы узнать, есть ли у них исчерпали свои буферы и нажали на новые, а наоборот, звуковые очереди и аудиоустройства были основаны на pull-based, поскольку вы получаете обратный вызов, когда новые образцы необходимы для воспроизведения).
Более высокий уровень, как вы видели, является хорошим материалом, таким как Media Player и AV Foundation. Это намного проще, если вы просто играете в файл, но, вероятно, не собираетесь предоставлять вам достаточно глубокий доступ, если хотите сделать какие-то эффекты, обработку сигналов и т. Д.
[Замечательный обзор здесь] (https://developer.apple.com/library/ios/documentation/MusicAudio/Conceptual/CoreAudioOverview/CoreAudioEssentials/CoreAudioEssentials.html) – bobobobo