[SOLUTION]
在 AudioMTKPolicyManager.cpp中添加如下代码, 搜索//add start,添加两个地方.
audio_devices_t AudioMTKPolicyManager::getDeviceForStrategy(routing_strategy strategy,
bool fromCache)
#ifdef MTK_AUDIO
case STRATEGY_PROPRIETARY_ANLG_V2:
case STRATEGY_PROPRIETARY_ANLG:{
...
if (device2 == 0) {
device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_SPEAKER;
}
// device is DEVICE_OUT_SPEAKER if we come from case STRATEGY_SONIFICATION, 0 otherwise
//add start
if(device2 == AudioSystem::DEVICE_OUT_SPEAKER){
ALOGD("xwxwxwxw device2 == mAvailableOutputDevices & AudioSystem::DEVICE_OUT_SPEAKER");
device2 |=AudioSystem::DEVICE_OUT_WIRED_HEADSET;
}
//add end
device |= device2;
if (device == 0) {
ALOGE("getDeviceForStrategy() speaker device not found");
}
break;
}
#endif
case STRATEGY_PROPRIETARY_DGTL_V2:
case STRATEGY_PROPRIETARY_DGTL: {
.......
if (device2 == 0) {
device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_SPEAKER;
}
// device is DEVICE_OUT_SPEAKER if we come from case STRATEGY_SONIFICATION or
// STRATEGY_ENFORCED_AUDIBLE, 0 otherwise
ALOGD(" getDeviceForStrategy() strategy %d, device %x device2 %x mDeviceForStrategy[strategy] %x+++",
strategy, device,device2,mDeviceForStrategy[strategy]);
//add start