Core Audio Services
Эта глава перечисляет службы, доступные в Core Audio. В iOS Вы считаете эти службы расположенными в следующие платформы:
Аудио Панель инструментов — службы Прикладного уровня: файлы, потоки, предупреждения, воспроизведение и запись. В iOS, включает аудио сеансовые службы.
Аудиоустройство — Аудиоустройство и службы аудиокодека.
Основа AV — интерфейс воспроизведения аудио Objective C.
Core Audio — Типы данных и, в OS X, аппаратных службах.
OpenAL — Позиционный и службы аудио низкой задержки.
Core Audio в OS X включает те четыре платформы и добавляет еще три:
Набор Core Audio — службы пользовательского интерфейса Аудиоустройства.
Core MIDI — Прикладной уровень поддержка MIDI.
Сервер Core MIDI — сервер MIDI и поддержка драйвера.
Для фокусируемого на платформе представления заголовочных файлов в Core Audio посмотрите Платформы Core Audio Приложения.
Остальная часть этой главы представляет фокусируемое на службах представление Core Audio — начиная со служб, доступных и в iOS и в OS X.
Службы, Доступные в iOS и OS X
Службы, перечисленные в этом разделе, доступны в iOS 2.0 и OS X v10.5.
Audio Converter Services
Audio Converter Services позволяет Вам преобразовывать данные между форматами. Этот интерфейс состоит из функций, типов данных и констант, объявленных в AudioConverter.h
заголовочный файл в AudioToolbox.framework
.
Audio File Services
Службы Аудиофайла позволяют Вам считать или записать аудиоданные в и от файла или буфера. Вы используете его в сочетании с Audio Queue Services, чтобы записать или играть аудио. В iOS и OS X, Audio File Services состоит из функций, типов данных и констант, объявленных в AudioFile.h
заголовочный файл в AudioToolbox.framework
.
Audio File Stream Services
Службы Audio File Stream позволяют Вам проанализировать потоки аудиофайла — т.е. аудиоданные, для которых у Вас не обязательно есть доступ ко всему файлу. Можно также использовать его для парсинга данных файла от диска, несмотря на то, что Audio File Services разработана с этой целью.
Службы Audio File Stream возвращают аудиоданные и метаданные к Вашему приложению через обратные вызовы. который Вы обычно тогда воспроизводите использование Audio Queue Services. В iOS и OS X, Audio File Stream Services состоит из функций, типов данных и констант, объявленных в AudioFileStream.h
заголовочный файл в AudioToolbox.framework
.
Audio Format Services
Audio Format Services позволяет Вам работать с данными о формате аудиоданных. Другие службы, такие как Audio File Services, имеют функции для этого использования также. Вы используете Audio Format Services, когда все, что Вы хотите сделать, получают данные о формате аудиоданных. В OS X можно также использовать эту службу для получения системных характеристик, таких как доступные частоты дискретизации для кодирования. Audio Format Services состоит из функций, типов данных и констант, объявленных в AudioFormat.h
заголовочный файл в AudioToolbox.framework
.
Audio Processing Graph Services
Audio Processing Graph Services позволяет Вам создать и управлять графиками обработки аудиоданных в своем приложении. В iOS и в OS X, это состоит из функций, типов данных и констант, объявленных в AUGraph.h
заголовочный файл в AudioToolbox.framework
.
Audio Queue Services
Audio Queue Services позволяет Вам играть или записать аудио. Это также позволяет Вам пауза и воспроизведение резюме, выполните цикличное выполнение и синхронизируйте многократные каналы аудио. В iOS и OS X, Audio Queue Services состоит из функций, типов данных и констант, объявленных в AudioQueue.h
заголовочный файл в AudioToolbox.framework
.
Audio Unit Services
Audio Unit Services позволяет Вам загрузить и использовать аудиоустройства в своем приложении.
В iOS Audio Unit Services включает функции, типы данных и константы, объявленные в следующих заголовочных файлах в AudioUnit.framework
:
AUComponent.h
AudioComponent
.h (только iOS)AudioOutputUnit.h
AudioUnitParameters.h
AudioUnitProperties.h
OS X добавляет к ним следующие заголовочные файлы от AudioUnit.framework
и AudioToolbox.framework
:
AUCocoaUIView.h
AudioUnitCarbonView.h
AudioUnitUtilities.h
(вAudioToolbox.framework
)LogicAUProperties
.hMusicDevice.h
OpenAL
OpenAL является позиционной аудио технологией с открытым исходным кодом, разработанной для использования в игровых приложениях. iOS и OS X имеют реализации спецификации OpenAL 1.1. Вы находите его заголовки в следующих заголовочных файлах в платформе OpenAL:
al.h
alc.h
В iOS у Вас есть эти дополнительные заголовочные файлы:
oalMacOSX_OALExtensions.h
oalStaticBufferExtension.h
В OS X у Вас есть этот дополнительный заголовочный файл:
MacOSX_OALExtensions.h
System Sound Services
System Sound Services позволяет Вам играть короткие звуки и предупреждения. На iPhone это позволяет Вам вызвать вибрацию. System Sound Services состоит из подмножества функций, типов данных и констант, объявленных в AudioServices.h
заголовочный файл в AudioToolbox.framework
.
Службы, Доступные в iOS Только
Службы, перечисленные в этом разделе, доступны в iOS только.
Аудио сеансовые службы
Аудио Сеансовые службы позволяют Вам управлять аудио сеансами в своем приложении — координирование аудио поведения в Вашем приложении с фоновыми приложениями на iPhone или iPod touch. Аудио Сеансовые службы состоят из подмножества функций, типов данных и констант, объявленных в AudioServices.h
заголовочный файл в AudioToolbox.framework
.
Класс AVAudioPlayer
AVAudioPlayer
класс обеспечивает простой интерфейс Objective-C для игры звуков. Если Ваше приложение не требует расположения стерео или точной синхронизации, и если Вы не играете аудио, полученное от сетевого потока, Apple рекомендует использовать этот класс для воспроизведения. Этот класс объявляется в AVAudioPlayer.h
заголовочный файл в AVFoundation.framework
.
Службы, доступные в OS X только
Службы, перечисленные в этом разделе, доступны в OS X только.
Audio Codec Services
Audio Codec Services позволяет Вам преобразовывать данные между форматами. Этот интерфейс состоит из функций, типов данных и констант, объявленных в AudioCodec.h
заголовочный файл в AudioUnit.framework
.
AudioCodec.h
(расположенный вAudioUnit.framework
).
Audio Hardware Services
Audio Hardware Services обеспечивает маленький, легкий интерфейс для некоторых важных функций Аудио HAL (уровень аппаратной абстракции). Audio Hardware Services состоит из подмножества функций, типов данных и констант, объявленных в AudioServices.h
заголовочный файл в AudioToolbox.framework
.
Core Audio Clock Services
Core Audio Clock Services обеспечивает опорный синхрогенератор, который можно использовать для синхронизации приложений и устройств. Эта служба состоит из функций, типов данных и констант, объявленных в CoreAudioClock.h
заголовочный файл в AudioToolbox.framework
.
Core MIDI Services
Core Audio в OS X поддерживает MIDI через Core MIDI Services, состоящую из функций, типов данных и констант, объявленных в следующих заголовочных файлах в CoreMIDI.framework
:
MIDIServices.h
MIDISetup.h
MIDIThruConnection.h
MIDIDriver.h
Серверные службы Core MIDI
Серверные службы Core MIDI позволяют драйверам MIDI передать с OS X сервер MIDI. Этот интерфейс состоит из функций, типов данных и констант, объявленных в следующих заголовочных файлах в CoreMIDIServer.framework
:
CoreMIDIServer.h
MIDIDriver.h
Extended Audio File Services
о расширенных службах аудиофайла
Во многих случаях Вы используете Extended Audio File Services, обеспечивающую самый простой интерфейс для чтения и записи аудиоданных. Чтение файлов с помощью этого API является автоматически несжатым и/или преобразовывается в линейный формат PCM, который является собственным форматом для аудиоустройств. Точно так же можно использовать один вызов функции записать линейные аудиоданные PCM в файл в сжатом или преобразованном формате. Поддерживаемые Форматы аудиофайла и Форматы данных в OS X перечисляют форматы файлов тот Core Audio поддержки по умолчанию. Некоторые форматы имеют ограничения; например, по умолчанию, Core Audio может читать, но не запись, файлы MP3.
Службы уровня аппаратной абстракции (HAL)
Core Audio в OS X использует уровень аппаратной абстракции (HAL) для обеспечения непротиворечивого и предсказуемого интерфейса для приложений для контакта с аппаратными средствами. Каждая часть аппаратных средств представлена объектом аудиоустройства (тип AudioDevice
) в HAL. Приложения могут запросить объект аудиоустройства получить информацию синхронизации, которая может использоваться для синхронизации или приводить в соответствие с задержкой.
HAL Services состоит из функций, типов данных и констант, объявленных в следующих заголовочных файлах в CoreAudio.framework
:
AudioDriverPlugin.h
AudioHardware.h
AudioHardwarePlugin.h
CoreAudioTypes.h
(Содержит типы данных и константы, используемые всеми интерфейсами Core Audio),HostTime.h
Большинство разработчиков найдет, что модуль Apple AUHAL удовлетворяет их потребности аппаратного интерфейса, таким образом, они не должны взаимодействовать непосредственно с HAL Services. AUHAL ответственен за передачу аудиоданных, включая любое требуемое отображение канала, к указанному объекту аудиоустройства. Для получения дополнительной информации об использовании модуля AUHAL и других устройств вывода, посмотрите Взаимодействие через интерфейс с Аппаратными средствами.
Music Player Services
Music Player Services, доступная в OS X, позволяет Вам располагать и играть набор музыкальных треков MIDI. Это состоит из функций, типов данных и констант, объявленных в заголовочном файле MusicPlayer.h
в AudioToolbox.framework
.