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