В качестве небольшого праздничного проекта я хочу управлять приложением с помощью переключателя специальных возможностей, который подключается через разъем для наушников 3,5 мм к устройству iOS.
Моя проблема в том, что я понятия не имею, какой сигнал срабатывает, когда я нажимаю кнопку - я предполагал, что он действует аналогично пульту дистанционного управления наушников.
Есть ли способ измерить ввод этого или кто-нибудь знает, как получить ввод кнопки на iOS?





Если бы это был разъем для наушников, вы можете справиться с этим, используя
override func remoteControlReceived(with event: UIEvent?) {}
и переключить внутри него event?.type.subType примерно так.
override func remoteControlReceived(with event: UIEvent?) {
if let e = event , e.type == .remoteControl {
if e.subtype == UIEventSubtype.remoteControlPause {
// do something
}else if (e.subtype == .remoteControlPlay){
//do something else
}else if (e.subtype == .remoteControlTogglePlayPause){
// do something else
}
}
}
Спасибо за ответ - к сожалению, переключатель не работает как обычный пульт для наушников ...
о, вы пробовали отлаживать его в коде, который я вам дал? он вообще работает, возможно, под другими типами
Да, к сожалению, он работает с обычным пультом для наушников Apple, но не с переключателем, но спасибо за идею
Это точно подходит для обычных наушников, но нет смысла даже пытаться это, когда кнопка OP использует штекер TS, поэтому не должен быть подключен к разъему для наушников и не может быть обнаружен таким образом :)
ранее было опубликовано, что им можно управлять как наушники, однако, если бы это было так, как я упоминал в ответе, это было бы так, но другой ответ выше объясняет его ситуацию, вероятно, правильно
Разводные наушники Apple 3,5 мм с регулятором громкости имеют 4 проводника. На вашем снимке я вижу всего 2 проводника. Таким образом, ваш коммутатор не может отправлять удаленные команды для наушников Apple, поскольку кольцо микрофона для отправки данных отсутствует. Я предполагаю, что ваш выключатель просто контактирует между двумя проводниками.
Вот что бы я сделал.
С помощью мультиметра проверьте сопротивление вашего переключателя в разомкнутом и замкнутом положениях. Я ожидал, что при закрытии сопротивление будет низким или близким к нулю.
Теперь найдите (старую) пару наушников Apple 3,5 мм с регулятором громкости. Разберите регулятор громкости наушников и припаяйте переключатель специальных возможностей к контактным площадкам регулятора громкости. Теперь ваш переключатель специальных возможностей имитирует нажатие регулятора громкости.
Как вариант посмотрите http://david.carne.ca/shuffle_hax/shuffle_remote.html
Поэтому используйте микроконтроллер для имитации регулировки громкости наушников и используйте переключатель специальных возможностей для управления микроконтроллером. Похоже на веселый проект - наслаждайтесь.
Немного сбивает с толку, потому что в разъеме apple jack нет такого понятия, как «две линии данных». Четыре линии TRRS: Mic, Gnd, Right и Left. Связь между кнопками гарнитуры и устройством iOS происходит по паре Mic / Gnd, которые являются рукавом и R2.
Надеюсь, это поможет stackoverflow.com/questions/7428783/…