问题标签 [hfp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
63 浏览

android - Android 上同时支持 BLE 和 HFP/A2DP 的智能手机芯片组的差异

在 Android 智能手机芯片组上进行语音通话时,我遇到了丢失 BLE 连接的问题。

  1. 我正在通过蓝牙将 Android 手机连接到汽车音响。
  2. 我还有一个单独的 BLE 外围设备连接到同一部智能手机。
  3. 我从智能手机通过汽车立体声路由音频拨打电话。

我已经用两部不同的安卓手机试过了。一个是高通 MSM8953 Snapdragon 625,另一个是联发科 MT6763芯片组。

高通上,一切都很好!手机能够通过汽车立体声发出呼叫路由音频,同时接收来自 BLE 外围设备的 GATT 通知。

Mediatek上,我一开始通话,BLE 外围设备就会以状态码断开连接,0x08 GATT_CONN_TIMEOUT而语音通话正常。在我结束语音通话的那一刻,BLE 连接可以重新建立,并且可以再次收到 GATT 通知。

智能手机制造商已确认这是联发科芯片组的限制。

我想知道为什么有些芯片组支持而有些不支持。我们需要为客户再订购几部手机,并且需要确保芯片组支持通过蓝牙和 BLE GATT 通知同时进行语音通话。我希望有人能指出我为什么会发生这种情况以及我应该在芯片组中寻找什么来支持这一点。

0 投票
1 回答
778 浏览

android - 如何以编程方式在android中使用蓝牙HFP配置文件?

在这里,我尝试使用蓝牙经典连接两个 android 设备并通过 HFP 配置文件转移呼叫。

如果设备A有来电,我需要通知设备B并从设备B侧接受/拒绝,甚至需要从设备B侧通话。

我已经从蓝牙配置中的源端进行了更改,以启用设备 B 中 HFP 配置文件的 A2DP 接收器和 HF 角色(禁用的 AG 角色)。

我对 AT 命令的工作原理感到困惑。我必须通过输出流(蓝牙经典连接)传递 AT 命令。

仅通过 AT 命令(根据 HFP 文档)来接受呼叫是否足够,或者我是否必须根据收到的 AT 命令在设备 B 端处理呼叫?我正在为这项工作创建一个应用程序。

如果通过 AT 命令接受呼叫,或者我是否必须从应用程序级别手动为此执行某些操作,呼叫也会自动通过连接流式传输?

0 投票
0 回答
161 浏览

android - 如何修改Android车载拨号器应用程序以显示联系人下载进度?

这个问题是关于 Android 汽车拨号器应用程序的。它从配对手机下载联系人并显示在列表中。Android提供的这个应用程序没有间歇性更新下载的联系人数量以了解下载进度。在其中一个参考链接中提到,PBAP 客户端将每个连接设备的联系人存储在 Contacts Provider 中,然后应用程序可以访问该联系人以获取每个设备的电话簿。

该应用程序的行为是在下载正在进行之前显示加载图标,而不会间歇性地更新进度。在代码中为此调用了contact.isLoading()。

由于我的要求是知道间歇性更新以便可以显示进度条,因此这并没有多大用处。任何人都可以分享他们的经验或提供更多详细文档的链接吗?谢谢你。

参考链接

https://developers.google.com/cars/design/automotive-os/apps/dialer/overview https://source.android.com/devices/automotive/ivi_connectivity

0 投票
0 回答
48 浏览

android - 为没有 Netowrk 的配对手机纠正 Android 汽车拨号器中的断开原因

我正在修改 android 汽车拨号器应用程序以了解通话的断开原因。我的测试用例是在没有活动网络的情况下使用配对手机测试 android 汽车拨号器应用程序,而在没有 SIM 的情况下测试另一部手机。当调用 onCallRemoved(Call call) 时,我正在为此使用 DisconnectCause.getCode() 。我没有得到我期望的正确代码,根据文档它是错误的,因为出现错误,例如网络问题,所以它已断开连接。但相反,我得到了代码REMOTE,根据文档,由于远程用户启动的操作(例如对方挂断)而断开连接。

请让我知道在这种情况下要使用的正确代码。谢谢你。

https://developer.android.com/reference/android/telecom/DisconnectCause

0 投票
0 回答
23 浏览

android - 未接收来自 HFP 的呼叫设置传入指示器

对于任何有蓝牙耳机使用 AT 命令和 HFP 通话经验的人。当收到来自 AG(电话)的来电时,HF(耳机)不接收呼叫设置来电指示,而是接收拨出呼叫设置和警报指示。我相信我已经根据 HFP v1.7 调用规范正确设置了所有内容(其余的嗅探器日志与规范匹配)。

更多背景信息:这只发生在信使和线路(应用程序)呼叫中,并且仅在安卓手机上发生。IOS Messenger 应用程序可以很好地发送来电指示。我知道这可能与 android/messenger 如何实现他们的 HFP 东西有关,但我只是想破译它背后的逻辑,以便我可以得到一个解决方案。

0 投票
0 回答
185 浏览

bluetooth - 使用带有 Ofono 和 pulseaudio 的蓝牙 HFP 时发出嘈杂的声音

遵循这里提到的一切

在我的带有 Raspbian Bullseye 的 Raspberry Pi 4 上。

使用配对手机拨打电话时,HFP 的传入和传出声音有问题。我可以听到和说话,但它真的很吵,有时会延迟。而 A2DP 一切正常。

这是我的 /etc/pulse/default.pa 文件的一部分

我更改了 /etc/bluetooth/main.conf 中的类

并添加了文件 /etc/bluetooth/audio.conf

使用 A2DP 听音乐时,这里是输出

pactl 列表来源简短

pactl 清单不足

使用 HFP 调用时,这里是输出

pactl 列表来源简短

pactl 清单不足

这是调用时 journalctl -f 的输出

0 投票
0 回答
39 浏览

android - 如何使 Android 设备成为蓝牙接收器,即 HFP 接收器

我想在 Android 设备上收听来自蓝牙板/设备(HFP 源)的声音流。到目前为止,我可以通过经典蓝牙连接到开发板。我的问题是我们可以将 Android 设备作为 HFP 接收器吗?这样我就可以将数据从硬件流式传输到 Android 设备。