Platform: RK3399
OS: Android 7.1
Kernel: v4.4.83
需求:
使用思必驰的方案做语音识别功能,并且不影响普通的麦克风录音功能。
分析:
由于speech也是用的内置mic设备(软件中),这样和会系统使用的录音设备冲突,导致audio policy中的input profile只有一个有效。 因此两种方法解决此问题:
1.修改speech使用的设备
2.修改系统自身使用的设备
这里使用后者,相对来说方便并且可控一些。
解决方法:
Framework改动:
kris@eco:~/rk3399/frameworks/av$ g df
diff --git a/services/audiopolicy/enginedefault/src/Engine.cpp b/services/audiopolicy/enginedefault/src/Engine.cpp
index a091512..abff1b7 100755
--- a/services/audiopolicy/enginedefault/src/Engine.cpp
+++ b/services/audiopolicy/enginedefault/src/Engine.cpp
@@ -605,7 +605,11 @@ audio_devices_t Engine::getDeviceForInputSource(audio_source_t inputSource) cons
device = AUDIO_DEVICE_IN_WIRED_HEADSET;
} else if