Получите вход управления переключателем через разъем для наушников на iOS

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

Это переключатель и вилка: Получите вход управления переключателем через разъем для наушников на iOS

Моя проблема в том, что я понятия не имею, какой сигнал срабатывает, когда я нажимаю кнопку - я предполагал, что он действует аналогично пульту дистанционного управления наушников.

Есть ли способ измерить ввод этого или кто-нибудь знает, как получить ввод кнопки на iOS?

Надеюсь, это поможет stackoverflow.com/questions/7428783/…

Diptesh 21.12.2018 01:42
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
11
1
2 092
2

Ответы 2

Если бы это был разъем для наушников, вы можете справиться с этим, используя

 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
                }
            }
        }

Спасибо за ответ - к сожалению, переключатель не работает как обычный пульт для наушников ...

arnoapp 24.12.2018 01:10

о, вы пробовали отлаживать его в коде, который я вам дал? он вообще работает, возможно, под другими типами

Mohmmad S 24.12.2018 08:02

Да, к сожалению, он работает с обычным пультом для наушников Apple, но не с переключателем, но спасибо за идею

arnoapp 26.12.2018 12:58

Это точно подходит для обычных наушников, но нет смысла даже пытаться это, когда кнопка OP использует штекер TS, поэтому не должен быть подключен к разъему для наушников и не может быть обнаружен таким образом :)

Craig.Feied 29.12.2018 19:25

ранее было опубликовано, что им можно управлять как наушники, однако, если бы это было так, как я упоминал в ответе, это было бы так, но другой ответ выше объясняет его ситуацию, вероятно, правильно

Mohmmad S 30.12.2018 08:00

Разводные наушники 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.

Craig.Feied 29.12.2018 19:36

Другие вопросы по теме