В linux системах смотри /proc/asound/card0/codec#номер , в нем ноды а в них есть поле Pin-ctls вот по значению в нем можно определить подключено что то или нет. Так же есть много вариаций в виде библиотек.
В окнах есть
апи
Про смартфоны выше ответили.