Предварительное усиление аудио OS X - PullRequest
5 голосов
/ 13 сентября 2011

Существуют два приложения для OS X, которые позволяют предварительно усилить звук перед его воспроизведением аппаратным обеспечением: Audio Hijack (предварительно усиливает вывод из определенных приложений) и Boom (предварительно усиливает весь системный звук). Эти приложения работают, применяя эквалайзер к уже существующим аудиопотокам - с высокой настройкой предварительного усилителя - перед их отправкой на звуковую карту.

Мой вопрос: как перехватить системный аудиопоток и затем отправить его на звуковую карту. Это где-то в API, или это потребует изменения системной библиотеки?

1 Ответ

5 голосов
/ 30 ноября 2011

1) Создайте стандартное звуковое устройство, которое отображается в настройках аудиосистемы.Это должно быть в форме расширения ядра (kext).Трудно создать, просто читая яблочные документы - попробуйте посмотреть приложение под названием Soundflower.

2) После того, как вы загрузили kext и получили новое аудиоустройство, выберите его в настройках в качестве устройства вывода по умолчанию длясистемное аудио.

3) Теперь вам нужно изменить аудио и передать его на реальный системный выход.Это можно сделать в прилагаемом приложении, которое добавляет функции обратного вызова «IOProc» к a) новому устройству и b) встроенному устройству вывода вашего компьютера.Затем вы можете скопировать аудиобуферы с одного устройства на другое, чтобы передать звук на динамики.Чтобы увеличить громкость, умножьте все байты в буфере на некоторый коэффициент.См. Прилагаемое приложение Soundflower.

...