Руководство
Mac не может изменить громкость Sonos по оптике? Вот почему.
Ваш Mac не может изменить громкость колонки Sonos по оптическому кабелю, потому что кабель односторонний: TOSLINK выносит звук наружу и ничего не приносит обратно, поэтому нет канала, по которому могла бы пройти команда громкости, — и macOS фиксирует собственный регулятор на полном уровне. Решения такие: программа Sonos или пульт; ИК-пульт, которому саундбар может обучиться; переход на AirPlay с отказом от кабеля — или утилита в строке меню, которая перехватывает клавиши громкости и отправляет изменение колонке по вашей сети; именно она сохраняет и кабель, и клавиши.
С клавиатурой всё в порядке. С колонкой всё в порядке. Вот что происходит на самом деле, всё, что это решает (включая бесплатные варианты), что не решит и когда ставить ничего не нужно.
Кабель работает только в одну сторону
Оптический кабель — TOSLINK, S/PDIF, тот, что вставляется в маленькое квадратное гнездо с красным огоньком внутри, — это труба для цифрового звука. По нему идут сэмплы. Обратно не приходит ничего. Нет ни рукопожатия, ни обратного канала, ни команды громкости.
Поэтому, когда вы выбираете этот выход в Системных настройках, macOS отправляет звук в гнездо, не зная, что на другом конце. Это может быть Sonos Ray. Это может быть усилитель, а может — вообще ничего. Поскольку знать это невозможно, уровень задавать и не предлагается: сигнал уходит на полной шкале, а насколько это громко, решает то, что на другом конце.
Нажимаете «громче» — F12, или F11 для «тише», F10 для «без звука», — а менять macOS нечего. Вы получаете индикатор на экране с перечёркнутым знаком «нельзя» под ним или вовсе никакого индикатора, а в Системных настройках → Звук регулятор этого выхода неактивен — macOS может прямо сказать, что у выбранного устройства нет регуляторов вывода. Тем временем колонка играет на том уровне, на котором её оставили, — поэтому проблема так часто выглядит как Sonos, застрявший на полной громкости, которую ничем с Mac не убавить.
Сама громкость живёт в Sonos — и всегда жила. Колонка прекрасно умеет убавлять себя сама. Ей нечем услышать вашу просьбу.
Как понять, что это ваш случай
- Звук с вашего Mac доходит до колонки по физическому кабелю в оптическое гнездо или S/PDIF — обычно с док-станции Thunderbolt или небольшого звукового интерфейса USB. В настройках звука выход часто называется как-нибудь вроде Digital Out или USB SPDIF Out, а не именем самой колонки.
- В Системных настройках → Звук у выбранного выхода регулятор громкости неактивен или сказано, что у устройства нет регуляторов вывода.
- Программа Sonos меняет громкость без всяких проблем — и пульт, если он есть, тоже.
- Переключитесь на наушники — и клавиши сразу снова работают.
Если все четыре пункта верны, ничего не сломано. Так устроен цифровой выход.
Здесь путают три разные проблемы
- Воспроизведение, пауза и перемотка не управляют программой Sonos. Другая проблема — другое решение: это медиаклавиши, и программе Sonos нужен Универсальный доступ в Системных настройках → Конфиденциальность и безопасность, прежде чем macOS их отдаст. Собственная статья поддержки Sonos описывает ровно это — и только это. Громкости по оптике она не касается.
- По AirPlay громкость ведёт себя странно. Если Mac играет на Sonos по беспроводной связи, клавиши уже работают; странности там — особенности AirPlay, а не отсутствие канала управления. Ничто на этой странице к вам не относится.
- По оптическому кабелю клавиши громкости мертвы. Эта страница. Кабелю нечем нести команду, и никакое разрешение или настройка этого не меняют.
Что это не решает
Перезапуск или переустановка
Ничто не находится в неисправном состоянии, так что перезапуску нечего исправлять. То же касается перезапуска звуковой службы.
Кабель или переходник получше
Каждый кабель TOSLINK несёт один и тот же односторонний сигнал — и каждая док-станция с таким гнездом тоже. Более дорогой не добавит канала управления, потому что в самом формате его нет.
Настройка, которую вы не нашли
В Системных настройках нет переключателя, который дал бы кабелю то, чего у него нет. «Настройка Audio-MIDI» тоже не поможет: устройство с несколькими выходами или агрегатное устройство меняет то, как macOS маршрутизирует звук, а не то, что может нести односторонний кабель, — и цифровой выход внутри него всё так же зафиксирован.
Программа переназначения клавиш
Обычно нет. Клавиши громкости — не обычные нажатия: macOS доставляет их как системные события, для которых нет публичного API горячих клавиш, так что средство назначения сочетаний обычно вообще их не видит. Обычно всё заканчивается назначением другого сочетания: оно работает — и это новое сочетание, которое надо помнить.
Советы, у которых истёк срок годности
Обсуждения этой проблемы уходят на десять лет вглубь, и часть лучших ответов в них с тех пор умерла. Чтобы вы не потратили на это вечер:
- “Используйте сочетания клавиш настольной программы Sonos” — включая рецепты BetterTouchTool, которые назначали клавиши громкости на её Cmd + = и Cmd + −. Sonos прекратил выпуск настольного контроллера в мае 2024 года; каждое назначение, которое на него указывало, теперь указывает в пустоту.
- “Пропустите звук через Soundflower” — драйвер обратной петли, на который опираются старые руководства, много лет не поддерживается и на нынешних macOS не работает.
- “Клавиши громкости нельзя перехватить” — это повторяют в старых ответах на форумах, и это уже неправда. macOS доставляет клавиши громкости как системные события, и программа с разрешением «Универсальный доступ» может перехватить их через перехват событий. Именно так и делают работающие решения.
Когда всё это вам не нужно
Стоит сказать прямо, потому что здесь легко купить не то.
- Если вы играете на Sonos через AirPlay, клавиши громкости у вас уже работают. macOS знает, что колонка там, и переносит уровень за вас. Правильный ли это порядок — вопрос настоящий, и сравнение оптики и AirPlay честно его разбирает.
- Если Mac подключён к линейному входу Sonos через разъём наушников — то есть аналоговым кабелем, а не оптическим, — клавиши тоже работают: macOS сама выставляет уровень ещё до того, как звук покидает Mac.
- Если ваш Sonos подключён к телевизору, а Mac в этой цепочке нет, то это вообще не ваша проблема.
Эта страница — про узкий случай: звук уходит через физический оптический порт или S/PDIF на Mac.
Как же тогда управлять громкостью Sonos с клавиатуры Mac?
Пять настоящих ответов, примерно по возрастанию стоимости.
- Программа Sonos или пульт колонки. Работает всегда, бесплатно и стоит вам одного движения за чем-нибудь каждый раз, когда громкость чуть-чуть не та.
- Обучите саундбар ИК-пульту. Саундбары Sonos умеют обучаться почти любому инфракрасному пульту из настроек программы Sonos, так что запасной пульт от телевизора решает вопрос громкости для всей комнаты — бесплатно, если он лежит в ящике. Но это всё же пульт: нужна прямая видимость, лишний предмет на столе — и клавиатура о нём ничего не знает.
- Программный аттенюатор (SoundSource, eqMac и им подобные) вставляет регулятор громкости в звук ещё до того, как тот покидает Mac, — и клавиши действительно возвращаются даже по оптике. Размен бьёт по той самой причине, по которой выбирали кабель: на выходе уже не нетронутый поток на полной шкале — каждый сэмпл масштабируется программно по пути наружу.
- Перейти на AirPlay. Клавиши тут же возвращаются, а вместе с ними и сетевой буфер — задержка и звук, отстающий от картинки. Сравнение оптики и AirPlay честно это взвешивает.
- Оставьте кабель, перенаправьте клавиши. Оставить звук нетронутым на оптическом кабеле, а нажатие клавиши передать отдельно, по сети, колонке, которая и так умеет на него реагировать. Именно это Optically и делает — см. ниже.
Как с этим справляется Optically
Optically — программа для строки меню macOS, которая делает третье из перечисленного. Она перехватывает «громче», «тише» и «без звука» раньше macOS и просит Sonos изменить собственный уровень по вашей локальной сети. Что в это входит, полностью:
- Разрешение «Универсальный доступ» — потому что перехват событий единственный способ поймать системную клавишу раньше macOS. Она реагирует на три клавиши, других не читает и ничего из набранного не сохраняет.
- Разрешение «Локальная сеть» — потому что колонки находятся опросом локальной сети: кто в ней есть. Она общается с колонкой напрямую, через локальное управление, которое Sonos и так принимает, — без учётной записи Sonos и без облачного API.
- Клавиши привязаны к одному выходу, поэтому стоит подключить наушники — и они сразу возвращаются macOS. Пока вы не выбрали, Optically оставляет их в покое, а не гадает.
- Показываемый уровень — собственный уровень колонки: он считывается по сети, а не додумывается, поэтому изменение, сделанное в программе Sonos, видно и на вашем Mac.
- Ничто не ждёт сеть, и ничто не трогает звук. Индикатор рисуется сразу, а команда идёт следом; звук через программу не проходит вообще.
Ей нужна macOS 14.4 или новее; 14 дней она работает бесплатно, а затем стоит 10 $ за один Mac и 5 $ за каждый дополнительный. Это нотаризованная загрузка, а не программа из Mac App Store: в правилах App Review регуляторы громкости названы среди того, что программа не вправе изменять.
Похожие вопросы
Заработает ли это с Sonos Beam или Arc?
Громкость и отключение звука работают с любым Sonos в вашей сети, который принимает локальное управление, так что со стороны программы всё одинаково. А со стороны железа — нет. Модели Sonos со встроенным оптическим входом — это Ray, Playbar и Playbase. Саундбару только с HDMI нужен оптический аудиоадаптер Sonos между кабелем и колонкой — у Beam он в комплекте, для других моделей его покупают отдельно.
Влияет ли всё это на качество звука?
Нет. Звук никогда не проходит через Optically. Ваш Mac отправляет тот же PCM по тому же кабелю, что и раньше, а программа несёт только нажатие клавиши. Удалите её — и звук будет тем же, потому что звук через неё никогда и не шёл.
Работало, а теперь клавиши снова замолчали
Optically объясняет в строке меню, почему она решила не перенаправлять клавишу: не хватает разрешения, выход не тот, к которому она привязана, колонка недоступна. Страница поддержки — это тот же список, выписанный целиком, с решением рядом с каждым пунктом.
Далее
Всё ещё выбираете между кабелем и беспроводной передачей? Оптика против AirPlay разбирает этот выбор как следует — включая то, что AirPlay вовсе не проигрывает в качестве, как принято думать. Колонка уже есть? Руководство по настройке Sonos Ray и Mac разбирает подключение, а главная страница — саму программу.
Не уверены, что это про вашу конфигурацию? Расскажите, что у вас на столе — вы получите честный ответ, в том числе если он в том, что вам ничего не нужно.