Подтвердить что ты не робот

Какая разница между всеми этими аудиоформатами?

В документации я вижу несколько фреймворков для аудио. Кажется, что все они нацелены на воспроизведение и запись звука. Поэтому мне интересно, какие большие различия между ними?

Audio Toolbox, Audio Unit, AV Foundation и Core Audio. Или я пропустил путеводитель, который дает хороший обзор всего этого?

4b9b3361

Ответ 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.