mt6735 在手机插入耳机的时候 ,wifi display的声音仍然输出到display(电...
时间:10-02
整理:3721RD
点击:
[COMMON]在手机插入耳机的时候,wifi display的声音仍然输出到display(电视),而不是输出到耳机
[DESCRIPTION]
在手机插入耳机的时候,wifi display的声音仍然输出到display(电视),而不是输出到耳机,
想实现在插入耳机后,声音从耳机出
[SOLUTION]
原因:
这是android默认设计,如果贵司要改,修改policy部分,
AudioPolicyManger.cpp的getDeviceForStrategy函数,
case STRATEGY_MEDIA,
会进入if(!mChangePrioRSubmix)中选择到device2 = availableOutputDeviceTypes &
AUDIO_DEVICE_OUT_REMOTE_SUBMIX;
这个AUDIO_DEVICE_OUT_REMOTE_SUBMIX就是0x8000,从电视输出
如果您想改为从耳机出,则修改如下:
case STRATEGY_MEDIA: {
uint32_t device2 = AUDIO_DEVICE_NONE;
#ifdef mtk_AUDIO
if(!mChangePrioRSubmix){
#endif
if (strategy != STRATEGY_SONIFICATION) {
// no sonification on remote submix (e.g. WFD)
if (availableOutputDeviceTypes&AUDIO_DEVICE_OUT_WIRED_HEADPHONE)
{
device2 = availableOutputDeviceTypes & AUDIO_DEVICE_OUT_WIRED_HEADPHONE;
}else if (availableOutputDeviceTypes&AUDIO_DEVICE_OUT_WIRED_HEADSET)
{
device2 = availableOutputDeviceTypes & AUDIO_DEVICE_OUT_WIRED_HEADSET;
}else{
device2 = availableOutputDeviceTypes & AUDIO_DEVICE_OUT_REMOTE_SUBMIX;
}
}
[DESCRIPTION]
在手机插入耳机的时候,wifi display的声音仍然输出到display(电视),而不是输出到耳机,
想实现在插入耳机后,声音从耳机出
[SOLUTION]
原因:
这是android默认设计,如果贵司要改,修改policy部分,
AudioPolicyManger.cpp的getDeviceForStrategy函数,
case STRATEGY_MEDIA,
会进入if(!mChangePrioRSubmix)中选择到device2 = availableOutputDeviceTypes &
AUDIO_DEVICE_OUT_REMOTE_SUBMIX;
这个AUDIO_DEVICE_OUT_REMOTE_SUBMIX就是0x8000,从电视输出
如果您想改为从耳机出,则修改如下:
case STRATEGY_MEDIA: {
uint32_t device2 = AUDIO_DEVICE_NONE;
#ifdef mtk_AUDIO
if(!mChangePrioRSubmix){
#endif
if (strategy != STRATEGY_SONIFICATION) {
// no sonification on remote submix (e.g. WFD)
if (availableOutputDeviceTypes&AUDIO_DEVICE_OUT_WIRED_HEADPHONE)
{
device2 = availableOutputDeviceTypes & AUDIO_DEVICE_OUT_WIRED_HEADPHONE;
}else if (availableOutputDeviceTypes&AUDIO_DEVICE_OUT_WIRED_HEADSET)
{
device2 = availableOutputDeviceTypes & AUDIO_DEVICE_OUT_WIRED_HEADSET;
}else{
device2 = availableOutputDeviceTypes & AUDIO_DEVICE_OUT_REMOTE_SUBMIX;
}
}