【Android Audio】5、EngineBase加载音量曲线和策略 【基于Android Q 】

本文详细介绍了Android Q中音频引擎加载音量曲线的过程,包括mVolumeGroups的加载,音量设置,如默认音量和最大音量的设定。同时,探讨了策略加载,特别是mProductStrategies的10个不同策略。内容涵盖了音量曲线配置文件、设备类型曲线、以及AudioPolicy的策略配置。
摘要由CSDN通过智能技术生成

5.1、音量曲线

5.1.1、mVolumeGroups音量曲线加载

frameworks/av/services/audiopolicy/managerdefault/engine/common/src/EngineBase.cpp

engineConfig::ParsingResult EngineBase::loadAudioPolicyEngineConfig(){
   
...
    auto loadVolumeGroups = [](auto &volumeConfigs, auto &volumeGroups) {
   
        for (auto &volumeConfig : volumeConfigs) {
   
            sp<VolumeGroup> volumeGroup = new VolumeGroup(volumeConfig.name, volumeConfig.indexMin, volumeConfig.indexMax);
            /* 小编的打印 */
            ALOGI("hippo id:%d, name:%s, min:%d, max:%d volumeConfig.volumeCurves:%d", 
            volumeGroup->getId(), volumeConfig.name.c_str(), volumeConfig.indexMin,
                volumeConfig.indexMax, volumeConfig.volumeCurves.size()); 
            volumeGroups[volumeGroup->getId()] = volumeGroup;

            for (auto &configCurve : volumeConfig.volumeCurves) {
   
                device_category deviceCat = DEVICE_CATEGORY_SPEAKER;
                 /* 小编的打印 */
                 ALOGI("APM configCurve:%s", configCurve.deviceCategory.c_str());
                if (!DeviceCategoryConverter::fromString(configCurve.deviceCategory, deviceCat)) {
   
                    ALOGE("%s: Invalid %s", __FUNCTION__, configCurve.deviceCategory.c_str());
                    continue;
                }
                sp<VolumeCurve> curve = new VolumeCurve(deviceCat);
                for (auto &point : configCurve.curvePoints) {
   
                    /* 小编的打印 */
                    ALOGI("APM index:%d, attenuationInMb:%d", point.index, point.attenuationInMb); 
                    curve->add({
   point.index, point
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值