Проводка кнопки разъема для наушников Android?

#java #android #headset

#java #Android #гарнитура

Вопрос:

Я пытаюсь выяснить, как использовать разъем для наушников для запуска действия в моем приложении, используя пользовательскую кнопку. У меня есть некоторый код, который определяет, когда я нажимаю кнопку на гарнитуре, подключенной к порту, но если я подключу кабель TRRS к порту и закорочу контакты, я ничего не получу.

Я нашел это:https://source.android.com/devices/accessories/headset/plug-headset-spec

Но в нем говорится, что R1 должен иметь 0 Ом, так что не приведет ли это к тому, что он что-то сделает? На гарнитуру не подается внешнее напряжение, поэтому я не думал, что мне придется подавать напряжение на свою схему. И что представляет R1? Воспроизведение, пауза, отключение звука или другое? Кто-нибудь может указать мне правильное направление, чтобы разобраться в этом?

Ответ №1:

Хорошо, я понял это. После долгих испытаний со многими резисторами я наконец понял, как это работает.

На штекере TRRS есть 4 кольца — R1 (наконечник) и R2 — наконечники, R3 — заземление, а R4 (основание) — для микрофона.

Предполагается, что замыкание R4 на R3 запускает действие кнопки «Воспроизведение / пауза».

Часть, которую я не понял, заключается в том, что схема ожидает, что в цепи всегда будет сопротивление из-за микрофона. Итак, когда вы подключаете его, сопротивление R4-R3 должно составлять не менее 1100 Ом, чтобы телефон думал, что подключен микрофон. Существует большая разница в том, какое сопротивление. В моем тестировании работало 1100 Ом, как и 4400 Ом. Без этого сопротивления он считает, что есть только динамики, и игнорирует любые сигналы кнопок.

Где я облажался, так это то, что я думал, что сопротивление требуется только при нажатии кнопки. Нет, он должен быть там постоянно, поэтому вы включаете резистор в цепь параллельно переключателю.

Надеюсь, это поможет кому-то еще в будущем, который также может не очень хорошо разбираться в оборудовании.