问题描述
HDMI +ES8388 无耳机 有喇叭和MIC
ES8388 使用 喇叭多媒体无声 其他通话声音 闹钟声音有
解决方案:
是因为RK声音策略优先级的问题,只需要将喇叭SPEAKER的优先级高于HDMI的AUX就可以
frameworks\av\services\audiopolicy\enginedefault\src
@Override
+ if (devices2.isEmpty()) {
+ devices2 = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_SPEAKER);
+ }
if ((devices2.isEmpty()) && (strategy != STRATEGY_SONIFICATION)) {
// no sonification on aux digital (e.g. HDMI)
devices2 = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_AUX_DIGITAL);
}
//priority Wired > a2dp > hdmi > hdmi 1 > spdif > spdif 1
if ((devices2.isEmpty()) && (strategy != STRATEGY_SONIFICATION)) {
devices2 = availableOutputDevices.getDevicesFromType(VX_ROCKCHIP_OUT_HDMI0);
}
if ((devices2.isEmpty()) && (strategy != STRATEGY_SONIFICATION)) {
devices2 = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_SPDIF);
}
if ((devices2.isEmpty()) && (strategy != STRATEGY_SONIFICATION)) {
devices2 = availableOutputDevices.getDevicesFromType(VX_ROCKCHIP_OUT_SPDIF0);
}
if ((devices2.isEmpty()) &&
(getForceUse(AUDIO_POLICY_FORCE_FOR_DOCK) == AUDIO_POLICY_FORCE_ANALOG_DOCK)) {
devices2 = availableOutputDevices.getDevicesFromType(
AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET);
}
+ // if (devices2.isEmpty()) {
+ // devices2 = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_SPEAKER);
+ // }