web-dev-qa-db-ja.com

マルチボタン有線ヘッドホンに反応

Galaxy Nexus(ICS)に接続されたa-JAYS Fourヘッドフォン(有線リモコン/マイクに3つのボタンがある)のペアでいくつかの実験を行っています4.0.2)。

私の問題は、私が書いたテストアプリによって中央のボタンだけが「認識」されることです。つまり、Intent.ACTION_MEDIA_BUTTONおよび/またはActivity.onKeyDownコールバックの両方をトリガーします- KeyCode 79押されたとき。

他の2つのボタンを押しても、前の方法はトリガーされません。詳細については、これらのヘッドフォンとその3つのボタンは、ボックスで宣伝されているように、Apple iPhoneおよびAppleコンピューター(少なくともMacBookPro 2011)で動作します...

最初に私はAndroidまたは私のデバイスは有線ジャックリモートの複数のボタンを処理できないと思った(それが奇妙に聞こえても...)が、それから私はヘッドフォンのペアで試してみました3つのボタンを持つHTC(Desireデバイスの1つに付属しているもの)から。中央のボタンは私のa-JAYSと同じように反応しますが、他の2つのボタンもKeyCodes 87および-で認識されます。 88それぞれ前の再生および次のメディアの再生キー。

したがって、デバイスまたはAndroidの低レベルレイヤーのいずれかが特定のヘッドフォンボタン信号をキャッチできないだけです:/(少なくとも87ではないもの)および88

AndroidがApple互換性のあるものなどのヘッドフォンからの他のボタン/信号を認識できるようにする方法について誰かが考えていますか?それは低レベルのドライバーが=のために書いていることを意味しますか? ICSまたは私は本当に明白な何かを逃していますか?

どんな助けでも大歓迎です。必要に応じてテストアプリのコードを投稿できます。

乾杯

15
Attila

ボリュームコントロールボタン(ボリュームダウンの場合は1.525-1.495 V、ボリュームアップの場合は1.619-1.587 V)からの信号/抵抗は、現在Androidフレームワークのソフトウェアでは認識できません。これはApple指定されたボリュームコントロールの特許を取得しているため、フレームワークがヘッドフォンジャックの4番目のコネクタを介して特定の信号を認識する方法を開発者に公開しません。中央/ヘッドセットのマイク/アクションボタンは一般的に機能し、パスを〜2Vから〜0Vに短絡し、Appleはその特許を所有していません。誰かが上の入力と対話する方法を理解できれば私はアプリ開発を学び、回避策を見つけたいと思っています。

16
Adam C

問題は、見た目よりも複雑です: http://david.carne.ca/shuffle_hax/shuffle_remote.html

3
Kristopher

私はこのトピックの専門家ではないことを強調する必要がありますが、これまで読んで試したことから、Android電話をiPhoneヘッドフォンの音量に応答させることは不可能ではないと結論付けていますボタンがありますが、何らかの理由でパフォーマンスが悪い/遅れています。

魔法をかけようとしているアプリもありますが、日常の使用には信頼性が低すぎます。問題は、信号のトリガーを、ほとんどの通常のアプリがアクセスできるよりも低いOSレベルで実装する必要があるかもしれないということだと思います。

解決策はおそらくある種のa ROM mod .. ..

これを実装できれば、Androidコミュニティにとっては大きな問題であり、おそらくあなたにとっては良いビジネスになるでしょう。

よろしくお願いします、あなたの仲間のハンガリーのGergő

2
Gergő

ヘッドホンをジャックに接続する間、中央のボタンを押し続ける必要があります。これにより、Androidでマイクが機能するようになります。それは私のHTCサンダーボルトで動作します。

1
Stitch

これはハードウェアの問題だと思います(少なくともAppleヘッドフォンに関して)。プラグを見ると、通常の3つではなく4つの接点があります。きっとその余分な連絡先を介してボタン信号を実行します。AFAIK、それに一致するジャック付きのAndroid機器はありません。

したがって、最終的には、Appleボタン付きイヤホンをAndroid(ボタン機能に関する限り)で機能させることができるとは思いません。

0
Barak

4つの接点、チップリングリングスリーブ(TRRS)を見ると、ほとんどのヘッドフォンセットは次のとおりです。

  • ヒント:左
  • リング1:右
  • リング2:アース
  • スリーブ:マイク

(1/4インチプロオーディオステレオプラグはTRSとして知られています-チップリングスリーブ)

アースとマイクの接点を逆にするものもありますが、デバイスがさまざまなボタンを認識する方法に関して知っておく必要があるのは、これらのボタンがアースとマイクの接点の間でショートしていることです。 (IRの前は、VCR用の古い学校のWIREDリモコンは、さまざまな機能に抵抗を使用していました)

何が起こっているのかを知るための宿題は次のとおりです。

  1. 各ボタンのリング2とスリーブの間の抵抗を測定します
  2. それが瞬間的に短いのか、それとも一定なのかを調べます
  3. 正しく動作する他のヘッドフォン/マイクデバイスがある場合は、それらのインピーダンス(抵抗)も測定します

どのようにこれを取得したいかはわかりませんが、正しいインピーダンスの抵抗を購入して、Androidデバイスから必要な機能を取得できます。問題は、知っていますか?デバイスが実行できる機能と、その機能をトリガーするインピーダンスは何か。

[email protected]

0
Daniel Esparza

あなたはそれが機能するためにずっと真ん中を保持しなければなりません。あなたが手放して音楽を再生しない場合、それは付属品がサポートされていないと言いますが、あなたが音楽を再生して手放すと、あなたがそれを再び保持するまで単に音楽を停止します。たぶん、真ん中のボタンをテープでしっかりと閉めますか?

0
Graham