mt6735 FM应用打开外放后耳机也能有声音
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
客户希望 FM 应用 打开外放后耳机也能有声音 !
[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:EVICE_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
if(device2 == AudioSystem::DEVICE_OUT_SPEAKER){
ALOGD("device2 == mAvailableOutputDevices & AudioSystem::DEVICE_OUT_SPEAKER");
device2 |=AudioSystem::DEVICE_OUT_WIRED_HEADSET;
}
//add end
ALOGD(" getDeviceForStrategy() strategy %d, device %x device2 %x ******", strategy, device,device2);
device |= device2;
ALOGD("getDeviceForStrategy() strategy %d, device %x device2 %x ----", strategy, device,device2);
if (device) break;
device = mDefaultOutputDevice;
if (device == 0) {
ALOGE("getDeviceForStrategy() no device found for STRATEGY_MEDIA");
}
}
break;
请参照修改,这样修改之后,FM应用打开外放时,耳机也能有声音。
客户希望 FM 应用 打开外放后耳机也能有声音 !
[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:EVICE_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
if(device2 == AudioSystem::DEVICE_OUT_SPEAKER){
ALOGD("device2 == mAvailableOutputDevices & AudioSystem::DEVICE_OUT_SPEAKER");
device2 |=AudioSystem::DEVICE_OUT_WIRED_HEADSET;
}
//add end
ALOGD(" getDeviceForStrategy() strategy %d, device %x device2 %x ******", strategy, device,device2);
device |= device2;
ALOGD("getDeviceForStrategy() strategy %d, device %x device2 %x ----", strategy, device,device2);
if (device) break;
device = mDefaultOutputDevice;
if (device == 0) {
ALOGE("getDeviceForStrategy() no device found for STRATEGY_MEDIA");
}
}
break;
请参照修改,这样修改之后,FM应用打开外放时,耳机也能有声音。
