5

デバイスのオーディオを電力として使用する外部 iOS 通知ライトを作成しました。iPhone に電話がかかってきて、ライトが接続されている場合、着信音は鳴りますが、ピックアップすると、オーディオはヘッドフォンに再ルーティングされ (iPhone はライト/デバイスがヘッドフォンセットであると認識します)、ユーザーはmyLED を少なくとも 2mm 引き抜いて、電話のフロント レシーバーからオーディオを取得します。

この課題に対する代替ソリューションを模索してきました。最近、特定のジャック形状のプロトタイプを作成し、iPhone スピーカー/マイクに音声を「再ルーティング」するための通話を受信したときにユーザーが回転できるようにしました。巧妙なオプションに聞こえるかもしれませんが、このハードウェア ソリューションはきちんとしたものとは言えません。これにより、myLED が機能しない/信頼できない位置が発生し、さらに複雑になります。

私は kAudioSessionOverrideAudioRoute_Speaker の存在を知っていますが、これはアプリのオーディオをリア スピーカー (「大きな」スピーカー) にのみ送信し、フロント レシーバーには送信しないと思われます (iPhone の「レシーバー」はヘッドフォン セットであるため、が検出されます)。

何を提案しますか?超感謝!

4

1 に答える 1

4

あなたは厳しい状況にあると思います:

  1. Apple が通話のオーディオ ルーティングをオーバーライドするオプションをリリースする可能性はほとんどありません。電話の重要な機能として、通話の側面をロックとキーの下に保つ傾向があります。

  2. ヘッドフォン ジャック (おそらく - これはほとんどの方法です) は、プラグが差し込まれているかどうかを判断するために、グランドと 1 つまたは両方のスピーカーまたはリモコンの間のインピーダンスを使用します。回路を遮断する以外に、シミュレートする良い方法はありません。これ。

あなたが持っていると思う唯一のオプションは次のとおりです。

  1. 着信時にデバイスを取り外すようユーザーに要求します。

  2. トランジスタを駆動するためにジャックにマイクロコントローラを提供します。このトランジスタは回路を電子的に遮断して、プラグを抜いたジャックと同じ種類のインピーダンス シグネチャを提供します。

通話が進行中であるという情報をジャックにどのように、いつ、どのように提供できるかは、私の知る限りではありません。フックできる「着信がまだ応答されていない通話」用の API はありますか? アプリとの通信を確保するために監視機能を実行する必要がありますか? 代わりにドックコネクタを使用することは可能でしょうか? これらは本当にあなたの選択肢だと思います。完全な答えではありませんが、私の考えです。

于 2013-01-09T00:00:25.210 に答える