HAL - как контролировать вывод звука на Mac - PullRequest
4 голосов
/ 15 июля 2009

Существует приложение под названием прослушивание телефонных разговоров, доступное на
http://www.ambrosiasw.com/utilities/wiretap/

Это приложение может записывать звук системы. Я хотел бы иметь возможность сделать то же самое в моей программе. Любое понимание того, что мне нужно сделать это? Я знаком с Core Audio, но ничего не нашел о том, как это сделать.

это поможет получить ответ? Я ввел командную строку: ioreg -w0 -l | grep io | больше
это то, что я нашел в виде прослушивания телефонных разговоров .... там может быть больше информации, связанной с тем, где я ее нашел:
+ -o com_AmbrosiaSW_AudioSupport <класс com_AmbrosiaSW_AudioSupport, зарегистрирован, соответствует, активный, занят 0, сохранить 4>
"CFBundleIdentifier" = "com.AmbrosiaSW.AudioSupport"
"IOMatchCategory" = "com_AmbrosiaSW_AudioSupport"
"версия" = 2
"IOClass" = "com_AmbrosiaSW_AudioSupport"
yan-bellavances-mac-mini: ~ ybellavance $ ioreg -w0 -l | grep io | больше

Ответы [ 2 ]

1 голос
/ 20 июля 2009

Короткий ответ - нет, если у вас нет связей и / или вы действительно опытны / талантливы (я новичок в Mac Dev). Думаю, я собираюсь использовать пример audioEngine в разделе открытого исходного кода Дарвина.

Вот ответ, который я получил от Джеффа Мура из списка рассылки core-audio:

"Для этого нет API, просто различные хаки / обходные пути, которые люди придумали. Самый прямой путь - это написать фальшивый драйвер, чтобы делать то, что вы хотите. Soundflower и JACK будут Хорошие примеры такого подхода. Soundflower использует драйвер ядра, в то время как JACK использует драйвер пользователя-земли.

Люди умны и придумали другие способы сделать это. Но я позволю им говорить за себя, если они склонны делиться их методы. В любом случае, вы можете начать свое образование на это, читая список архивов, как эта тема поднимается на на регулярной основе. "

0 голосов
/ 17 июля 2009

Еще один аналогичный инструмент с открытым исходным кодом - SoundFlower . Этот инструмент работает путем регистрации в качестве устройства вывода звука. Вместо того, чтобы быть физическим устройством, это просто виртуальное устройство вывода, которое перенаправляет на другие устройства или обратно на входы.

Это одна из стратегий записи аудиосигнала системы - отображается как устройство вывода звука, и система проигрывает через это виртуальное устройство. В дополнение к записи звука вы также можете переслать его на динамики, чтобы они были прозрачными. Вы можете использовать SoundFlower в качестве примера, если вы заинтересованы в этом маршруте.

...