Использование какао для определения, когда запущенное приложение воспроизводит аудио - PullRequest
4 голосов
/ 14 апреля 2009

Я пытаюсь написать приложение, которое запускается как фоновый процесс и определяет, когда приложение (скажем, Safari) воспроизводит звук. Я могу использовать NSWorkspace для получения идентификаторов процессов запущенных в данный момент приложений, но затрудняюсь определить, что делают эти процессы. Я предполагаю, что есть способ прослушать процесс и определить, какие публичные сообщения отправляют объекты. Я прошу прощения за мое невежество по этому вопросу.

Кто-нибудь пытался что-то подобное или знает о каких-либо ресурсах, которые могут помочь?

Ответы [ 3 ]

2 голосов
/ 14 апреля 2009

SoundFlower - проект с открытым исходным кодом, позволяющий приложениям Mac OS X передавать звук друг другу. Это почти наверняка делает что-то похожее на то, что вы описываете.

1 голос
/ 23 апреля 2009

Я не думаю, что ваш "ответ" - это вообще ответ ...

и есть ответ (который не "42")

Лучше всего для этого было бы написать устройство вывода звука сквозного типа. Во многом похоже на саундфлауэр. таким образом, ваше устройство вывода звука будет затем загружать реальное (физическое) устройство вывода звука и передавать аудиоданные непосредственно к нему (после первого взгляда на аудиопоток, конечно!). тогда вам нужно только убедить своих пользователей настроить аудиоустройство в качестве устройства вывода звука по умолчанию, чтобы большинство приложений, воспроизводящих звук, использовали его автоматически. и вуаля ...

Ваша функция обработки звука, вероятно, просто выполнит быстрое RMS в буфере, прежде чем передать его фактическому устройству вывода. и когда мощность звука пересекает определенный порог (вероятно, что-то вроде -54 дБ с аудиоаппаратурой Apple), вы знаете, что какое-то приложение издает звук.

| K <</p>

0 голосов
/ 15 апреля 2009

Мне сообщили в другой ветке, что, хотя это возможно, это чрезвычайно продвинутая техника, и она не рекомендуется. Это предполагает использование Application Enhancer (APE) и считается не очень приятным занятием. Похоже, эта идея приложения предназначена для большого мусорного бака в небе :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...