基于Hidraw 语音方案
一、什么是Hidraw
hidraw节点是linux内核提供给用户空间USB和Bluetooth人机交互节点,可以利用该节点实现usb或者蓝牙通信,进一步可以完成其他功能,例如设备固件升级等。
参考如下:
Linux之访问/dev/hidraw
https://blog.csdn.net/mzm2438975656/article/details/108881442
二、原理说明
Hidraw 语音方案基于系统的 hidraw driver,通过后台的 service,将原本由蓝牙协议栈写入 uhid 节点的数据(按键和语音)"拷贝"一份,从而可以实时获取语音数据。
同时,这个 service 中还将启用 Unix socket server,将编码的语音数据解码后发送给系统的 audio hal 层。
系统的录音软件,比如 科大某飞,思某驰 则可以通过标准的 android 录音流程获得到解码后的语音数据,进而实现语音识别功能。
三、代码实现
参考厂商提供的代码,此处略。