• android电话接通状态下,关机铃声无法从外放输出


    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;
    }
  • 相关阅读:
    sklearn: TfidfVectorizer 中文处理及一些使用参数
    sklearn: TfidfVectorizer 中文处理及一些使用参数
    python在文件中输入整数
    python在文件中输入整数
    Python文件操作,with open as追加文本内容实例
    Python文件操作,with open as追加文本内容实例
    Python中的Bunch模式
    Python中的Bunch模式
    python文本挖掘模版
    python文本挖掘模版
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5160731.html
Copyright © 2020-2023  润新知