11

Bluetoothプロトコルを介してあるデバイスから別のデバイスに通話を転送する必要があるアプリケーションに取り組んでいます(つまり、デバイスが通話をハンズフリーに転送するような方法が必要です)。何か案は?

4

1 に答える 1

6

一般的にはできません。Android Bluetoothスタックは、HFPA2DPを含むいくつかのBluetoothプロファイルを実装しています。Androidは両方のプロファイルのオーディオソースであり、接続されたヘッドセットにオーディオをストリーミングします。ヘッドセットは、 Bluetooth.orgで説明されているように、ハンズフリーユニット(HF)機能とAndroid(オーディオゲートウェイ(AG ))を実装する必要があります。

ここで、AndroidデバイスにHF機能が必要です。これは、設計上AGをサポートしています。実際にヘッドセットとして機能させたいデバイスには、HFPプロファイル(HF側)を実装する必要があります。プロファイルモデルを見てください。HFPは、RFCOMM(Android APIでサポート)とSDP(APIには存在しません)に基づいています。スタックレイヤーにあるBlueDroidの一部のパーツ(SDPの変更など)にアクセスできなくなります。したがって、携帯電話はHF機能を備えたヘッドセットのふりをすることはできません。

もちろん、RFCOMM(私が知る限り非同期)を介してすべてを送信できますが、これに対するAndroidBluetoothAPIからの直接サポートはありません。RFCOMMを使用した実装には、SCOリンク(SCOソケット)が必要であり、Android OSスタックレイヤーに隠されている場合もあります(APIを介してそのようなソケットを作成する方法が見つかりませんでした)。

于 2016-06-23T15:03:50.780 に答える