macOS так умеет сама и бесплатно — через Audio MIDI Setup. Но делать всё придётся руками, вернуть обратно легко забыть, а о двух главных подвохах система молчит. Ниже: этот путь по шагам, то же самое одной кнопкой и та часть про Bluetooth, о которой обычно узнают на слух.
Переключите выход на настоящее устройство в Системных настройках → Звук, а потом удалите созданное устройство в Audio MIDI Setup кнопкой −. Пропустите второй шаг — оно останется в списке навсегда, поэтому у людей и накапливается по четыре штуки.
Мешают три вещи. Частота дискретизации: устройствам нужна общая, и никто не предупредит, если её нет, — получите тишину или хрип. Громкость: клавиши громкости перестают работать, потому что у агрегированного устройства нет собственной общей громкости. Уборка: выход обратно сам не переключится.
Auduo — приложение в строке меню ровно для этой задачи. Выбираете два выхода, нажимаете одну кнопку. Оно подбирает частоту, которую принимают оба, и прямо говорит, если общей нет; включает компенсацию дрейфа тому устройству, которому она нужна; даёт ползунок на каждый выход и общий; а по нажатию «Стоп» возвращает прежний выход, не оставляя ничего в Audio MIDI Setup.
Auduo делает всё перечисленное одной кнопкой и возвращает прежний выход, когда нажимаете «Стоп».
Загрузить в Mac App StoreДрейф и задержка — разные вещи. У каждого Bluetooth-устройства своя аппаратная задержка, часто 100–250 мс в зависимости от кодека, и совпадают они редко. Коррекция дрейфа не даёт выходам расходиться дальше со временем, но сдвинуть один относительно другого не может. Без передискретизации потока на macOS это не лечится, и всякое приложение, обещающее идеальную синхронизацию по Bluetooth, либо передискретизирует, либо выдаёт желаемое за действительное. Нужна точность — берите проводные выходы: встроенные динамики и USB-ЦАП расходятся на единицы миллисекунд.
Audio MIDI Setup принимает любое число. В Auduo пока два слота, больше — следующая работа.
Да. Если Core Audio видит устройство, оба способа с ним работают — правда, AirPlay добавляет собственную заметную задержку поверх всего описанного выше.
Нет. Оба способа просят Core Audio отправить один сигнал на несколько устройств. Сам звук никуда не захватывается, не сохраняется и не передаётся.