Быстрый тур по Core Audio SDK

Можно создать аудиоустройство с нуля с помощью платформ Core Audio непосредственно. Однако, как описано всюду по этому документу, Apple строго призывает Вас начинать со свободно загружаемого комплекта разработчика программного обеспечения Core Audio или SDK. Apple создает все аудиоустройства, поставляющие в OS X с помощью SDK.

SDK предлагает много преимуществ разработчикам аудиоустройства. SDK:

Получение Core Audio SDK

Установите новый Core Audio SDK. Это - часть установки Инструментов XCode на OS X DVD. Можно также загрузить его с веб-сайта разработчика Apple в этом расположении:

http://developer .apple.com/sdk/

Команда Core Audio часто обновляет SDK так быть уверенной, что Вы используете самую актуальную версию.

Пакет установщика помещает SDK в названную папку CoreAudio в пути:

/Developer/Examples/CoreAudio/ на Вашем объеме запуска.

Навигация в Core Audio SDK

Core Audio SDK содержит материалы для работы с аудиоустройствами, аудиофайлами, кодеками, MIDI и HAL. ReadMe.rtf файл в CoreAudio папка помогает Вам ориентироваться. Это включает прокомментированное перечисление папок в SDK, указателях на связанные ресурсы от команды Core Audio и информации о версии.

Для разработки аудиоустройства самые важные части SDK находятся в следующих папках:

В этом разделе описываются каждую из этих папок поочередно.

Папка AudioUnits

AudioUnits папка содержит иерархию класса C++, которую Вы используете для создания аудиоустройств. Это находится в AudioUnits/AUPublic папка. Аудиоустройство шаблоны XCode зависит от этой иерархии классов.

AudioUnits/CarbonGenericView папка содержит исходные файлы для Углерода универсальное представление.

Разработчики узла считают интерфейсы для Какао Apple универсальным представлением не в Core Audio SDK, а в OS X CoreAudioKit платформа.

В дополнение к AUPublic и CarbonGenericView исходные папки, AudioUnits папка содержит несколько полных примеров проекты XCode для аудиоустройств. Можно использовать эти проекты во множестве путей:

  • Непосредственно с помощью аудиоустройства создаются этими проектами

  • Изучение исходного кода, чтобы получить сведения, как к аудиоустройствам разработки и реализации

  • Используя проекты как начальные точки для Ваших собственных аудиоустройств

SDK включает следующие проекты аудиоустройства в качестве примера:

  • Проект DiagnosticAUs создает три аудиоустройства, которые можно счесть полезным для поиска и устранения неисправностей и анализа, поскольку Вы разрабатываете свои аудиоустройства:

    • AUValidSamples обнаруживает выборки, проходящие через него, которые являются вне диапазона или иначе недопустимы. Можно выбрать это аудиоустройство из группы Apple_DEBUG в узле аудиоустройства, таком как AU Lab.

    • AUDebugDispatcher упрощает отладку аудиоустройства. Можно выбрать это аудиоустройство из группы Acme Inc в узле аудиоустройства, таком как AU Lab.

    • AUPulseDetector измеряет задержку в хост-приложениях

  • Проект FilterDemo создает основной резонирующий фильтр низких частот с пользовательским представлением.

  • Проект MultitapDelayAU создает задержку мультикасания с пользовательским представлением.

  • Проект SampleAUs создает аудиоустройство передачи, включающее предварительные установки и множество типов параметра.

  • Проект SinSynth создает простой модуль инструментов, который можно использовать в хост-приложении как GarageBand.

Папка PublicUtility

Эта папка содержит разный набор C++ и исходных файлов Objective C, используемых Core Audio иерархия классов аудиоустройства SDK’s и демонстрационными проектами в SDK. Можно хотеть исследовать эти файлы, чтобы получить сведения, как работает иерархия классов.

Папка служб

Эта папка содержит несколько Core Audio проекты XCode, создающие инструменты, аудиоустройства и хост-приложения аудиоустройства. Как с проектами в AudioUnits папка, можно использовать эти проекты во время разработки аудиоустройства во множестве путей:

  • Непосредственно с помощью инструменты, аудиоустройства и хост-приложения создаются этими проектами

  • Изучая исходный код, чтобы получить сведения, как Core Audio работает, а также понимание как к инструментам разработки и реализации, аудиоустройствам и хост-приложениям

  • Используя проекты как начальные точки для Ваших собственных инструментов, аудиоустройств и хост-приложений

Папка Services содержит следующие проекты XCode:

AudioFileTools

Проект, создающий ряд восьми инструментов командной строки для игры, записи, исследования и управления аудиофайлами.

AudioUnitHosting

Проект, создающий Основанное на углероде хост-приложение аудиоустройства. Полезный с точки зрения примера кода для разработчиков узла, но осуждаемый как узел к тестированию Ваших аудиоустройств. (Для тестирования аудиоустройства используйте AU Lab.)

AUMixer3DTest

Проект, создающий приложение, использующее 3D аудиоустройство микшера.

AUViewTest

Проект, создающий приложение без окон на основе графика обработки аудиоданных. График включает модуль инструментов, модуль эффекта и устройство вывода. Существует пункт меню для открытия представления для модуля эффекта. Приложение AUViewTest использует объект аудиоплеера играть повторяющуюся последовательность через модуль инструментов.

CocoaAUHost

Проект, создающий Основанное на какао хост-приложение аудиоустройства. Этот проект полезен с точки зрения примера кода для разработчиков узла, но осуждаемый как узел к тестированию Ваших аудиоустройств. (Для тестирования аудиоустройства используйте AU Lab.)

MatrixMixerTest

Проект, создающий модуль микшера в качестве примера с пользовательским представлением Cocoa.

OpenALExample

Проект, создающий приложение на основе OpenAL API с расширениями Apple. Приложение демонстрирует управление позиции слушателя и ориентацию в двумерном расположении источников аудиосигналов.