博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android电话接通状态下,关机铃声无法从外放输出
阅读量:6794 次
发布时间:2019-06-26

本文共 1517 字,大约阅读时间需要 5 分钟。

AudioMTKPolicyManager.cpp的startOutput方法中。将在newDevic获取到的后面加入:
if(stream==AudioSystem::BOOT)newDevice|=AUDIO_DEVICE_OUT_SPEAKER;
 
status_t AudioMTKPolicyManager::startOutput(audio_io_handle_t output,
                                             AudioSystem::stream_type stream,
                                             int session)
{
    ALOGD("startOutput() output %d, stream %d, session %d", output, stream, session);
    ......
    if (outputDesc->mRefCount[stream] == 1) {
        audio_devices_t newDevice = getNewDevice(output, false /*fromCache*/);
        routing_strategy strategy = getStrategy(stream);
        bool shouldWait = (strategy == STRATEGY_SONIFICATION) ||
                            (strategy == STRATEGY_SONIFICATION_RESPECTFUL);
        uint32_t waitMs = 0;
        bool force = false;
        if(stream==AudioSystem::BOOT) newDevice|=AUDIO_DEVICE_OUT_SPEAKER;
        for (size_t i = 0; i < mOutputs.size(); i++) {
            AudioOutputDescriptor *desc = mOutputs.valueAt(i);
            if (desc != outputDesc) {
                // force a device change if any other output is managed by the same hw
                // module and has a current device selection that differs from selected device.
                // In this case, the audio HAL must receive the new device selection so that it can
                // change the device currently selected by the other active output.
                if (outputDesc->sharesHwModuleWith(desc) &&
                    desc->device() != newDevice) {
                    force = true;
                }
                // wait for audio on other active outputs to be presented when starting
                // a notification so that audio focus effect can propagate.
                uint32_t latency = desc->latency();
                if (shouldWait && desc->isActive(latency * 2) && (waitMs < latency)) {
                    waitMs = latency;
                }
            }
        }
      ......      
    }
    return NO_ERROR;
}

转载地址:http://xoego.baihongyu.com/

你可能感兴趣的文章
secilog 1.17 发布 增加了英文版本等新功能
查看>>
四城记之哈尔滨
查看>>
django模版过滤器
查看>>
2015年10月19日作业
查看>>
Skia深入分析10——Skia库的性能与优化潜力
查看>>
PYTHON 文件操作
查看>>
Python---生成器
查看>>
centos7上部署oVirt平台管理kvm
查看>>
网络存储 前序(存储基础) --iscsi
查看>>
mysql数据库
查看>>
mysql 存储过程的创建
查看>>
安卓学习UI组件-PopupWindow-弹出窗口
查看>>
thinkphp的M方法小结
查看>>
js在页面中嵌入pdf文件
查看>>
LVM磁盘扩容流程
查看>>
LogMiner的使用
查看>>
MySQL索引失效及使用索引的优缺点
查看>>
安卓项目回顾(二)
查看>>
做JAVA开发的同学一定遇到过的爆表问题,看这里解决
查看>>
javascript--事件
查看>>