Реагирование на многоканальные проводные наушники
Я провожу несколько экспериментов с двумя наушниками a-JAYS Four (с тремя кнопками на проводном пульте дистанционного управления/микрофоном), подключенными к Galaxy Nexus (ICS 4.0.2).
Моя проблема в том, что только тестовое приложение, которое я написал, только "средняя" распознается тестовым приложением, т.е. срабатывает обратный вызов Intent.ACTION_MEDIA_BUTTON и/или Activity.onKeyDown. с KeyCode 79 при нажатии.
Нажатие двух других кнопок не вызывает никаких предыдущих методов. Для информации эти наушники и три кнопки работают на Apple iPhone и Apple (по крайней мере MacBookPro 2011), как показано на упаковке...
Во-первых, я думал, что Android или мое устройство могут просто не обрабатывать более одной кнопки на удаленном проводном разъемом (даже если это звучит странно...), но потом я попробовал пару наушников от HTC (те, которые идут с одним из устройств Desire) с 3 кнопками. Средняя кнопка будет реагировать так же, как и мои a-JAYS, но две другие кнопки также распознаются с помощью KeyCodes 87 и 88, соответственно Воспроизвести предыдущий и Воспроизвести следующие медиафайлы.
Таким образом, кажется, что либо устройство, либо уровни низкого уровня Android просто не могут поймать некоторые сигналы кнопок наушников:/(по крайней мере те, которые не являются 87 и 88)
Кто-нибудь знает, как заставить Android распознавать другие кнопки/сигналы от таких наушников, как Apple, совместимые? Будет ли это означать, что драйверы низкого уровня пишут для ICS или я пропущу что-то действительно очевидное?
Любая помощь будет высоко оценена. При необходимости отправьте мой код тестового приложения.
Приветствия
Ответы
Ответ 1
Сигналы/сопротивление от кнопок регулировки громкости (1,525-1,495 В для уменьшения громкости и 1,619-1,587 В для увеличения громкости) в настоящее время не могут быть распознаны с помощью программного обеспечения для платформы Android. Я считаю, что это связано с тем, что Apple имеет патент на назначенные регуляторы громкости, и поэтому Google не будет выпускать разработчикам, как инфраструктура распознает конкретные сигналы через четвертый разъем на разъеме для наушников. Кнопки центра/микрофона/действия на гарнитурах обычно работают, он замыкает путь от ~ 2 В до ~ 0 В, и Apple не владеет патентом на это. Если бы кто-то мог понять, как взаимодействовать с исходными данными сам по себе, это будет огромным. У меня возникает соблазн изучить разработку приложений и найти обходное решение.
Ответ 2
Проблема сложнее, чем кажется: http://david.carne.ca/shuffle_hax/shuffle_remote.html.
Ответ 3
Я должен подчеркнуть, что я не эксперт по этой теме, но из того, что я прочитал и пробовал до сих пор, я пришел к выводу, что не исключено, что телефон Android реагирует на кнопки громкости наушников iPhone, но по какой-то причине производительность низкая/отстает.
Есть несколько приложений, пытающихся сделать магию, но они слишком ненадежны для повседневного использования. Я полагаю, проблема заключается в том, что запуск сигнала может быть реализован на более низком уровне ОС, чем у большинства обычных приложений также есть доступ.
Возможно, решение может быть своего рода ROM-мод...
Если вы можете реализовать это, я уверен, что это будет большой интерес для сообщества Android, и, может быть, это хороший бизнес.
С уважением, ваш товарищеский венгерский
Gergő
Ответ 4
Вы должны нажать и удерживать среднюю кнопку при подключении наушников к гнезду. Это заставит микрофон работать на Android. Он работает на моем HTC Thunderbolt.
Ответ 5
Я считаю, что это аппаратная проблема (по крайней мере, в отношении наушников Apple). Если вы посмотрите на штекер, то у них есть четыре контакта вместо обычных трех. Я готов поспорить, что они запускают сигналы своих кнопок через этот дополнительный контакт. AFAIK, для этого не существует никаких устройств wth для Android.
Итак, в конечном счете, я не верю, что вы можете сделать яблочные наушники с кнопками для работы с Android (насколько работают кнопки).
Ответ 6
Вы должны удерживать середину все время, чтобы она работала. Если вы отпустите, а не играете в музыку, это говорит, что accsessary не поддерживается, но если вы играете музыку и отпускаете ее, это просто останавливает музыку, пока вы не удерживаете ее снова. Может быть, лента средняя кнопка закрыта очень туго?
Ответ 7
Если вы посмотрите на четыре контакта, наконечник кольцевого кольца (TRRS) и узнайте, что наборы наушников MOST:
- tip: left
- ring 1: right
- кольцо 2: земля
- рукав: микрофон
(1/4-дюймовые стерео аудио разъемы известны как TRS - наконечник с кольцом)
хотя некоторые реверсируют контакты заземления и микрофона, что вам нужно знать, насколько устройство распознает различные кнопки, которые у вас есть, заключается в том, что эти кнопки замыкаются между контактами заземления и микрофона.
(до IR, старые школьные WIRED-пульты для видеомагнитофонов использовали сопротивление для разных функций)
Теперь ваша домашняя работа, чтобы узнать, что происходит:
- измерьте сопротивление между кольцом 2 и гильзой для каждой из кнопок
- узнать, является ли он кратковременным или постоянным
- если у вас есть другое устройство для наушников/микрофонов, которое работает правильно, также измерьте сопротивление (сопротивление).
Я не знаю, как это вы хотите получить, но вы можете купить резисторы с правильным сопротивлением, чтобы получить функции, которые вы хотите использовать на устройстве Android. Вопрос в том, знаете ли вы, какие функции устройства способны от, и что эти импедансы являются триггером этой функции.
[email protected]