iOS 上の HFP Bluetooth デバイスからの応答/通話終了ボタンの押下を検出して応答することは可能ですか? 誰もこれを見たことがありますか?どこで答えを探すべきですか? デバイス メーカー (MFI) プログラムに登録すれば、下位レベルの Bluetooth にアクセスできることは理解していますが、ここまで深く掘り下げる必要がないことを願っています。また、AVRCP コマンドに応答できることも知っていますが、このオプションは使用したくありません。誰でも助けることができますか?
3 に答える
UIResponderには、-remoteControlReceivedWithEvent:
Bluetoothヘッドセットなどの外部デバイスからイベントを受信するために使用できるメソッドがあります。ドキュメントから:
リモートコントロールイベントは、ヘッドセットなどの外部アクセサリからのコマンドとして発生します。アプリケーションは、ユーザーに提示されるオーディオまたはビデオメディアを制御することにより、これらのコマンドに応答します。受信側のレスポンダーオブジェクトは、イベントのサブタイプを調べて、目的のコマンド(たとえば、play(UIEventSubtypeRemoteControlPlay))を判別し、それに応じて続行する必要があります。
リモートコントロールイベントの配信を許可するには、UIApplicationのbeginReceivingRemoteControlEventsメソッドを呼び出す必要があります。リモートコントロールイベントの配信をオフにするには、endReceivingRemoteControlEventsを呼び出します。
ヘッドセットの応答/終了ボタンが、たとえばイヤフォンのリモートの再生/一時停止ボタンと同等であると見なされるかどうかは明らかではありませんが、これは試してみる価値があるかもしれません。
残念ながら、開発者が利用できるBluetoothパブリックAPIがないため、従来の方法でそのアクセスを取得する方法はありません。
私の調査の時点で、「remoteControlReceivedWithEvent」を介してブルートゥース デバイスから何らかのイベントを受信した人がいますが、すべてではありません。何も受け取っていない人もいます!そして、それらすべてを受け取っている人はほとんどいません!
Core Bluetooth も試してみましたが、LEB (Low Energy Bluetooth devices) しかサポートしていません! https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothOverview/CoreBluetoothOverview.html#//apple_ref/doc/uid/TP40013257-CH2-SW1
また、「Low Energy」の代わりに Classic bleutooth を使用できることを示唆する投稿もあります 。 for iphone" ?!?!?!)
上記の投稿から: 「LE 以外の Bluetooth デバイスを外部アクセサリ フレームワークで使用するには、MFi 承認を受ける必要があります (特定の Apple チップと独自の通信プロトコルを使用する必要があります)。ビルドすることはできません。よりオープンな Bluetooth LE を使用するか、標準の Bluetooth 用にこのチップを搭載していない限り、アプリケーションはこのデバイスにアクセスできません。ジェイルブレイクを介してこれを行う方法はあるかもしれませんが、私が知っているほとんどの人は Bluetooth LE に移行しています。」!
もっと投稿: iOS から Bluetooth デバイスに接続、MFi なし
よろしく。