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.hAudioComponent.h (только iOS)AudioOutputUnit.hAudioUnitParameters.hAudioUnitProperties.h
OS X добавляет к ним следующие заголовочные файлы от AudioUnit.framework и AudioToolbox.framework:
AUCocoaUIView.hAudioUnitCarbonView.hAudioUnitUtilities.h(вAudioToolbox.framework)LogicAUProperties.hMusicDevice.h
OpenAL
OpenAL является позиционной аудио технологией с открытым исходным кодом, разработанной для использования в игровых приложениях. iOS и OS X имеют реализации спецификации OpenAL 1.1. Вы находите его заголовки в следующих заголовочных файлах в платформе OpenAL:
al.h
alc.h
В iOS у Вас есть эти дополнительные заголовочные файлы:
oalMacOSX_OALExtensions.hoalStaticBufferExtension.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.hMIDISetup.hMIDIThruConnection.hMIDIDriver.h
Серверные службы Core MIDI
Серверные службы Core MIDI позволяют драйверам MIDI передать с OS X сервер MIDI. Этот интерфейс состоит из функций, типов данных и констант, объявленных в следующих заголовочных файлах в CoreMIDIServer.framework:
CoreMIDIServer.hMIDIDriver.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.hAudioHardware.hAudioHardwarePlugin.hCoreAudioTypes.h(Содержит типы данных и константы, используемые всеми интерфейсами Core Audio),HostTime.h
Большинство разработчиков найдет, что модуль Apple AUHAL удовлетворяет их потребности аппаратного интерфейса, таким образом, они не должны взаимодействовать непосредственно с HAL Services. AUHAL ответственен за передачу аудиоданных, включая любое требуемое отображение канала, к указанному объекту аудиоустройства. Для получения дополнительной информации об использовании модуля AUHAL и других устройств вывода, посмотрите Взаимодействие через интерфейс с Аппаратными средствами.
Music Player Services
Music Player Services, доступная в OS X, позволяет Вам располагать и играть набор музыкальных треков MIDI. Это состоит из функций, типов данных и констант, объявленных в заголовочном файле MusicPlayer.h в AudioToolbox.framework.