TV蓝牙遥控器近场语音自研

TV蓝牙遥控器近场语音自研


一、近场语音功能实现过程

1.按下语音键,遥控器通过蓝牙协议通知TV端语音键按下的事件

2.BT模块检测按键信息,通知BT驱动启动录音数据传输;同时通知audio framework设备可用;通知亚马逊近场app开始录音

3.audio framework收到setwireDeviceConnection通知后,创建音频流进行探测,如果open/close成功,将设备加入到Available input devices管理

4.亚马逊近场app通过AudioRecord启动录音,在btle audio hal接口创建音频流,然后执行read操作

5.btle audio hal操作:打开/dev/bleremote_audio设备节点,获取音频数据,做协议解码,然后将解码后的录音流传给app做识别处理

(在读操作之前,先从设备节点获取蓝牙遥控器编码协议,选择合适的解码库将音频解析成pcm格式,常用opus编码)

二、近场语音问题分析
1./dev/bleremote_audio设备节点open失败

原因:selinux权限问题、读写权限问题
2./dev/bleremote_audio设备节点ioctl报错

原因:驱动问题,检查驱动状态
3.APM::TclAudioPolicyEngine打印的availableDevices找不到相关设备AUDIO_DEVICE_IN_BLUETOOTH_BLE

例如:APM::TclAudioPolicyEngine: getForceDevice, inputSource=6, device=84000000 availableDevices is {AUDIO_DEVICE_IN_BUILTIN_MIC, @:bottom;AUDIO_DEVICE_IN_REMOTE_SUBMIX, @:0;AUDIO_DEVICE_IN_LOOPBACK, @:;AUDIO_DEVICE_IN_PROXY, @:SUPPRESSED;AUDIO_DEVICE_IN_ECHO_REFERENCE, @:}

原因1:检查dumpsys audio信息,是不是没有setWiredDeviceConnectionState状态设置

原因2:探测执行adev_open_input_stream失败导致,可能是上面/dev/bleremote_audio权限问题
4.APM::TclAudioPolicyEngine选择设备错误,选择了BUILTIN_MIC

原因1:audio policy当前根据BT传输的信息的name:AR来做的判断,如果name改变,流程判断会打开BUILTIN_MIC

原因2:audio policy逻辑异常,具体原因根据日志分析,关键打印APM::TclAudioPolicyEngine: getForceDevice, inputSource=6, device=xxxxx device为84000000时为正常,其他为异常

原因3:audioRecord创建近场使用hotword source,我们平台不支持。兼容处理后已实现支持

相关推荐
私人珍藏库15 分钟前
[Android] PeakFinder AR v4.8.89 (山峰全景识别+增强现实山峰查看器)
android·人工智能·智能手机·ar·工具·软件
CS创新实验室1 小时前
算法、齿轮与硅基大脑:数值计算发展简史
人工智能·算法·数值计算
能有时光1 小时前
PyTorch KernelAgent 源码解读 ---(4)--- ExtractorAgent
人工智能·pytorch·python
fthux1 小时前
GitZip Pro 源码解析:一个 GitHub 文件/文件夹下载扩展是如何工作的(一)整体架构与扩展入口
人工智能·ai·开源·github·open source
aqi002 小时前
15天学会AI应用开发(十七)使用LangGraph实现会话记忆功能
人工智能·python·大模型·ai编程·ai应用
xixixi777772 小时前
三大 AI 安全里程碑:Akamai 高危风险预警、智能体水印强制落地、PQC 量子安全全产业链统一
大数据·人工智能·安全·ai·大模型·智能体·政策
AI小码3 小时前
LLM 应用的缓存工程:当每次 API 调用都在燃烧成本
java·人工智能·spring·计算机·llm·编程·api
code 小楊3 小时前
AI函数调用:Function Calling从理论到实战全解析
人工智能
delishcomcn3 小时前
智切未来:AI算法如何重塑不干胶标签分切机的精度与效率边界
人工智能·神经网络·计算机视觉
观远数据3 小时前
ChatBI选型对比:从意图识别到SQL修复,六个维度打分决定是否值得投产
数据库·人工智能·sql