Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 634620)
Контекстум
.

Изучаем Core Audio. Практическое руководство по программированию звука в Mac и iOS (2000,00 руб.)

0   0
Первый авторАдамсон
АвторыАвила К.
ИздательствоМ.: ДМК Пресс
Страниц361
ID794978
АннотацияЗвук оказывает мощное и самое непосредственное воздействие на человеческий мозг. Благодаря подсистеме Apple Core Audio мы сможете задействовать эту мощь в своих программах для Mac и iOS: захватывать звук с устройств ввода, накладывать эффекты в реальном времени, воспроизводить MP3-файлы, играть на виртуальных музыкальных инструментах, слушать веб-радио, поддерживать технологию VoIP и т.д. Самая развитая из всех когда-либо созданных систем программирования звука, Core Audio отнюдь не проста. В этом издании один из лучших авторов книг по программирования в iOS Крис Адамсон и легендарный специалист по Core Audio Кэвин Авила во всех подробностях рассказывают об этой потрясающей подсистеме, чтобы программисты на платформах Mac и iOS могли воспользоваться всеми ее возможностями. Издание предназначено для программистов различного уровня подготовки, создающих приложения в Mac OS и iOS.
ISBN978-5-97060-413-7
УДК004.451iOS
ББК32.973.26-018.2
Адамсон, К. Изучаем Core Audio. Практическое руководство по программированию звука в Mac и iOS / К. Авила; К. Адамсон .— Москва : ДМК Пресс, 2016 .— 361 с. — ISBN 978-5-97060-413-7 .— URL: https://rucont.ru/efd/794978 (дата обращения: 20.04.2024)

Предпросмотр (выдержки из произведения)

Изучаем_Core_Audio._Практическое_руководство_по_программированию_звука_в_Mac_и_iOS.pdf
УДК 004.451iOS ББК 32.973.26-018.2 А28 Адамсон К., Авила К. А28 Изучаем Core Audio: Практическое руководство по программированию звука в Mac и iOS. – М.: ДМК Пресс, 2016. – 360 с.: ил. ISBN 978-5-97060-413-7 Звук оказывает мощное и самое непосредственное воздействие на человеческий мозг. Благодаря подсистеме Apple Core Audio мы сможете задействовать эту мощь в своих программах для Mac и iOS: захватывать звук с устройств ввода, накладывать эффекты в реальном времени, воспроизводить MP3-файлы, играть на виртуальных музыкальных инструментах, слушать веб-радио, поддерживать технологию VoIP и т. д. Самая развитая из всех когда-либо созданных систем программирования звука, Core Audio отнюдь не проста. В этом издании один из лучших авторов книг по программирования в iOS Крис Адамсон и легендарный специалист по Core Audio Кэвин Авила во всех подробностях рассказывают об этой потрясающей подсистеме, чтобы программисты на платформах Mac и iOS могли воспользоваться всеми ее возможностями. Издание предназначено для программистов различного уровня подготовки, создающих приложения в Mac OS и iOS. УДК 004.451iOS ББК 32.973.26-018.2 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-0-321-63684-3 (анг.) ISBN 978-5-97060-413-7 (рус.) Copyright © Pearson Education, Inc. © Оформление, перевод ДМК Пресс, 2016
Стр.5
Содержание Благодарности ................................................................................ 9 Об авторах ...................................................................................... 11 Предисловие ................................................................................. 12 Введение ........................................................................................ 17 Часть I. ПРИНЦИПЫ РАБОТЫ CORE AUDIO ............................. 31 Глава 1. Общие сведения о Core Audio .................................... 31 Основные каркасы подсистемы Core Audio ......................................... 32 Соглашения, применяемые в Core Audio ............................................. 35 Первое приложение с применением Core Audio .................................. 36 Запуск примера .............................................................................. 40 Свойства Core Audio ........................................................................... 42 Резюме .............................................................................................. 44 Глава 2. Кое-что о звуке .............................................................. 46 Создание звуковых колебаний ........................................................... 46 Цифровой звук ................................................................................... 48 Отсчеты – сделай сам ........................................................................ 54 Буферы .............................................................................................. 64 Звуковые форматы ............................................................................. 65 Резюме .............................................................................................. 66 Глава 3. Обработка звука с помощью Core Audio.................. 68 Форматы звуковых данных ................................................................. 68 Пример: определение формата....................................................... 72 Канонические форматы ...................................................................... 79 Обработка звука с помощью аудиоблоков .......................................... 80 Модель вытягивания .......................................................................... 83 Резюме .............................................................................................. 84 Часть II. ПРОСТЫЕ ОПЕРАЦИИ СО ЗВУКОМ ........................... 85 Глава 4. Запись ............................................................................. 85 Все об аудиоочередях ........................................................................ 86
Стр.6
6 Содержание Разработка рекордера ....................................................................... 87 Функция CheckError() ......................................................................... 90 Создание и использование аудиоочереди .......................................... 92 Служебные функции для аудиоочереди ............................................ 100 Функция обратного вызова для записи звуковых данных ............... 104 Резюме ............................................................................................ 108 Глава 5. Воспроизведение ....................................................... 110 Постановка задачи ........................................................................... 110 Подготовка очереди для воспроизведения звукового файла ............ 112 Подготовка буферов для воспроизведения ................................... 115 Запуск очереди воспроизведения ................................................. 118 Служебные функции для воспроизведения ...................................... 119 Обработка сигнатуры формата ...................................................... 120 Вычисление размера буфера и ожидаемого числа пакетов ........... 121 Функция обратного вызова для аудиоочереди воспроизведения ..... 122 Резюме ............................................................................................ 127 Глава 6. Преобразование ......................................................... 129 Утилита afconvert .............................................................................. 129 Использование службы Audio Converter Services .............................. 132 Подготовка файлов .......................................................................... 135 Вызов службы Audio Converter Services.......................................... 138 Реализация функции обратного вызова для конвертера ................ 143 Преобразование с применением службы Extended Audio File Services ............................................................................................ 147 Чтение и преобразование данных с помощью расширенных звуковых файлов ........................................................................... 151 Резюме ............................................................................................ 154 Часть III. БОЛЕЕ СЛОЖНЫЕ ОПЕРАЦИИ СО ЗВУКОМ ........ 156 Глава 7. Аудиоблоки: генераторы, эффекты и рендеринг .................................................................................. 156 Там, где вершится волшебство ......................................................... 157 Как работает каркас Audio Units ........................................................ 158 Какие существуют аудиоблоки ......................................................... 160 Первое знакомство с аудиоблоками ................................................. 164 Функция main() .............................................................................. 166 Создание графа аудиоблоков ........................................................ 169 Конфигурирование аудиоблока плеера файлов ............................. 173 Синтез речи и наложение эффектов с помощью аудиоблоков .......... 178 Составные части графа синтеза речи ............................................ 179 Создание графа синтеза речи ....................................................... 181 Конфигурирование синтезатора речи ........................................... 183
Стр.7
Содержание 7 Добавление эффектов .................................................................. 184 Включение собственного кода в процесс рендеринга звука ............. 187 Цикл рендеринга аудиоблока ........................................................ 188 Пример нестандартного рендеринга ............................................. 190 Создание и соединение аудиоблоков ............................................ 192 Функция обратного вызова рендеринга......................................... 194 Резюме ............................................................................................ 199 Глава 8. Аудиоблоки: ввод и микширование ....................... 201 Работа с устройствами ввода ........................................................... 202 Соединение блоков ввода и вывода .............................................. 204 Кольцевые буферы спешат на помощь .......................................... 205 Использование кольцевого буфера при работе с аудиоблоками ..... 207 Создание блока AUHAL для ввода .................................................. 210 Функция обратного вызова ввода .................................................. 219 Построение графа для воспроизведения отсчетов из кольцевого буфера ................................................................... 221 Функция обратного вызова рендеринга для программы сквозного воспроизведения .......................................................... 224 Запуск программы сквозного воспроизведения ............................ 226 Микширование ................................................................................. 227 Резюме ............................................................................................ 235 Глава 9. Позиционный звук ...................................................... 236 Звук в пространстве ......................................................................... 236 OpenAL API ....................................................................................... 239 Размещение звука в пространстве ................................................... 243 Подготовка к написанию программы ............................................. 244 Использование объектов OpenAL .................................................. 247 Изменение позиции источника ...................................................... 254 Загрузка отсчетов для буфера OpenAL .......................................... 255 Потоковая передача звука в OpenAL ................................................. 259 Подготовительные действия в примере работы с потоковым API OpenAL .................................................................................... 260 Подготовка ExtAudioFile к потоковому воспроизведению ............... 265 Повторное заполнение буферов OpenAL ....................................... 267 Резюме ............................................................................................ 270 Часть IV. ДОПОЛНИТЕЛЬНЫЕ ТЕМЫ ...................................... 272 Глава 10. Core Audio в системе iOS ........................................ 272 А та ли это Core Audio? ..................................................................... 272 Мирное сосуществование: служба Audio Session Services ................ 274 Пример работы с аудиосеансом ....................................................... 276 Подготовительные действия ......................................................... 277
Стр.8
8 Содержание Инициализация аудиосеанса и аудиоочереди ............................... 281 Метод генерации звука нужной высоты ......................................... 285 Обработка прерываний в iOS ......................................................... 287 Аудиоблоки в iOS .............................................................................. 290 Разработка приложения для сквозного воспроизведения звука с помощью блока удаленного ввода-вывода в iOS ......................... 292 Подготовительные действия ......................................................... 293 Настройка аудиоблока удаленного ввода-вывода для захвата и воспроизведения ....................................................................... 297 Обратный вызов от блока удаленного ввода-вывода ..................... 304 Другие приемы работы со звуком в iOS ............................................ 307 Дистанционное управление в iOS .................................................. 307 Аппаратные неожиданности в iOS ................................................. 309 Резюме ............................................................................................ 310 Глава 11. Core MIDI ..................................................................... 311 Концепции MIDI ................................................................................ 311 Core MIDI .......................................................................................... 312 Архитектура Core MIDI ................................................................... 313 Терминология Core MIDI ................................................................ 313 Свойства Core MIDI ....................................................................... 315 Сообщения MIDI ............................................................................ 315 Инструментальные блоки ................................................................. 316 Разработка простого MIDI-синтезатора ............................................ 317 Подключение к MIDI-устройству .................................................... 320 Обработка уведомлений и событий MIDI .......................................... 323 Воспроизведение графа ............................................................... 325 Создание событий MIDI .................................................................... 326 Подготовка к разработке программы MIDIWifiSource ..................... 326 Подготовка к передаче MIDI по сети Wi-Fi ...................................... 328 Отправка сообщений MIDI ............................................................. 331 Настройка Mac для получения данных MIDI по сети Wi-Fi ............... 333 Резюме: MIDI – это хорошо, но как насчет мобильности? ................. 335 Глава 12. Кода ............................................................................. 337 Еще немного Core Audio ................................................................... 337 Что дальше? ..................................................................................... 338 Цифровая обработка сигналов ...................................................... 339 Lion и iOS 5 ....................................................................................... 340 AUSampler ..................................................................................... 340 Core Audio в iOS 5 .......................................................................... 345 Сообщество Core Audio .................................................................... 346 Резюме: неплохо звучит ................................................................... 347 Предметный указатель ............................................................. 349
Стр.9

Облако ключевых слов *


* - вычисляется автоматически
.
.