Страницы

Поиск по вопросам

суббота, 27 октября 2018 г.

Как определить, подключёно ли что-либо в разъём jack на звуковой карте?

Как определить, заняты ли разъёмы на звуковой карте или нет?
Сам момент подключения/отключения отлавливается через acpi_listener без проблем, и на это событие можно повесить скрипт, который отключает звук в колонках при подключении наушников во фронтальный разъём, а вот как проверить текущее состояние — не могу понять.


Ответ

согласно вот этому ответу, информацию можно почерпнуть из файлов /proc/asound/card*/codec#*
пример из этого ответа:
наушники подключены:
$ cat /proc/asound/card0/codec#0 [...] Node 0x0d [Pin Complex] wcaps 0x400181: Stereo Control: name="Speaker Phantom Jack", index=0, device=0 Pincap 0x00000014: OUT Detect Pin Default 0x90170110: [Fixed] Speaker at Int N/A Conn = Analog, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: [...]
наушники отключены (сравните строки про Pin-ctls):
$ cat /proc/asound/card0/codec#0 [...] Node 0x0d [Pin Complex] wcaps 0x400181: Stereo Control: name="Speaker Phantom Jack", index=0, device=0 Pincap 0x00000014: OUT Detect Pin Default 0x90170110: [Fixed] Speaker at Int N/A Conn = Analog, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT [...]

Комментариев нет:

Отправить комментарий