Я пытаюсь решить нетривиальную задачу - записать звук из колонок FaceTime.
Я пробовал такие решения, как Soundflower, Background Musi c, HAL (пространство пользователя) и Kext (пространство ядра) ).
Обычно я создаю два виртуальных устройства:
- Multioutput (системные динамики в качестве основного и 2-канальное пользовательское устройство) для использования в качестве выхода по умолчанию
- Агрегировано (пользовательское устройство * mi c и 2-канальное - то же, что и в предыдущем пункте) - не используется как устройство по умолчанию
Я могу записать любой системный звук (например, iTunes ) и mi c одновременно через AVCaptureDevice, выделенный для агрегированного устройства. Он создает 4-канальный файл с правильной компоновкой без каких-либо проблем.
При подключении к FaceTime я могу записывать звук с микрофона, но ничего из динамиков.
Похоже, FaceTime явно принимает текущее активное системное устройство (например, колонки или наушники), но не по умолчанию.
Можно ли программно записывать звук из FaceTime? Или, например, подключиться к общему аудиопотоку системы для записи всего, что идет в динамик?
Как правило, это решаемая проблема, поскольку Audio Hijack может записывать вызовы FaceTime. u] Под капотом используется плагин HAL.
Я собираюсь использовать его в частном приложении, поэтому нет необходимости в Apple Guidances. Kexts, плагины, инъекции dylib - важен только результат.