Какая разница между всеми этими аудиоформатами?
В документации я вижу несколько фреймворков для аудио. Кажется, что все они нацелены на воспроизведение и запись звука. Поэтому мне интересно, какие большие различия между ними?
Audio Toolbox, Audio Unit, AV Foundation и Core Audio. Или я пропустил путеводитель, который дает хороший обзор всего этого?
Ответы
Ответ 1
Core Audio - это самый низкий уровень всех фреймворков, а также самый старый.
Audio Toolbox находится чуть выше Core Audio и предоставляет множество различных API-интерфейсов, которые упрощают работу со звуком, но все же дают вам большой контроль. Там ExtAudioFile, AudioConverter и несколько других полезных API.
Audio Unit - это основа для работы с целями обработки аудио как для дискретизированных аудиоданных, так и для MIDI. Это где микшер и различные фильтры и эффекты, такие как реверберация, живут.
AV Foundation - это новый и довольно высокоуровневый API для записи и воспроизведения звука на iPhone OS. Все они доступны как для OS X, так и для iOS, хотя AV Foundation требует OS X 10.8 +.
Ответ 2
Я сделал краткий графический обзор Core Audio и его (содержащих) фреймворков:
![Audio APIs in iOS]()
Структура, ближайшая к оборудованию, Audio Unit. Исходя из этого, OpenAL и AudioToolbox с AudioQueue. Наверху вы можете найти Media Player и AVFoundation (Аудио и видео).
Теперь это зависит от того, что вы хотите сделать: просто небольшая запись, используйте AVFoundation, который является самым простым в использовании, (У Media Player нет параметров для записи, это - как говорится в названии - только медиаплеер.)
Вы хотите сделать серьезную обработку сигнала в реальном времени? Используйте аудиоустройство. Но поверьте мне, это самый трудный путь.: -)
В iOS 8.0 Apple представила AVAudioEngine, основанную на звуке графическую систему Objective-C/Swift в AV Foundation. Это инкапсулирует некоторые грязные C-материалы из аудиоустройств. Из-за сложности Audio Unit это, возможно, стоит посмотреть.
Дальнейшие чтения в документации Apple:
Ответ 3
Core Audio на самом деле не является инфраструктурой, а инфраструктурой, которая содержит множество разных фреймворков. Любой звук, который выходит из вашего динамика iOS, фактически управляется Core Audio.
Самый низкий уровень в Core Audio, который вы можете получить, - это использование аудиоустройств, с которыми вы можете работать, используя рамки AudioToolbox и рамки AudioUnit.
Структура AudioToolbox также обеспечивает абстракции более высокого уровня для обработки/записи звука с использованием AudioQueues или управления различными аудиоформатами с помощью различных конвертеров и файловых служб.
Наконец, AV Foundation обеспечивает высокий уровень доступа к воспроизведению одного конкретного файла, а MediaPlayer дает вам доступ (и воспроизведение) к вашей библиотеке iPod.
Ответ 4
На этом сайте есть краткий и отличный обзор основных функций различных API:
http://cocoawithlove.com/2011/03/history-of-ios-media-apis-iphone-os-20.html
Ответ 5
Здесь вы можете найти обзор всех фонов iOS и OSX:
https://developer.apple.com/library/ios/documentation/MusicAudio/Conceptual/CoreAudioOverview/WhatsinCoreAudio/WhatsinCoreAudio.html#//apple_ref/doc/uid/TP40003577-CH4-SW4