场景识别-音频场景

目的

避免管控正在使用音频的场景、同时定义黑名单音频使用APP列表

是否正在播放音乐

frameworks/base/services/core/java/com/android/server/audio/PlaybackActivityMonitor.java

PlaybackActivityMonitor 进行playerEvent和releasePlayer事件进行埋点

    /**
     * Update player event
     * @param piid Player id to update
     * @param event The new player event
     * @param deviceId The new player device id
     * @param binderUid Calling binder uid
     */
    public void playerEvent(int piid, int event, int deviceId, int binderUid) {
            sEventLogger.log(new PlayerEvent(piid, event, deviceId));
            FadiReportEvent(binderUid,event + "|" + piid + "|" + apc.getClientPid() + "|" + binderUid);
            if (event == AudioPlaybackConfiguration.PLAYER_STATE_STARTED) {
    }

    public void releasePlayer(int piid, int binderUid) {
            final AudioPlaybackConfiguration apc = mPlayers.get(new Integer(piid));
            if (checkConfigurationCaller(piid, apc, binderUid)) {
                FADIReportEvent(binderUid,AudioPlaybackConfiguration.PLAYER_STATE_RELEASED + "|" + piid + "|" + apc.getClientPid() + "|" + binderUid);
    }

    private int mSystemUIUid;
    private void FADIReportEvent(int uid,String msg){
        if(FADI.scene.WaterManager.ENABLE){
            if(mSystemUIUid == 0){
                try {
                    mSystemUIUid = mContext.getPackageManager().getPackageUid("com.android.systemui",0);
                }catch (Exception e){
                    mSystemUIUid = -1;
                }
            }
            if(uid < android.os.Process.FIRST_APPLICATION_UID || uid == mSystemUIUid) return;
            FADI.scene.WaterManager.getInstance().sendEventBrief(FADI.scene.ConstantEvent.AUDIO_EVENTS,0,msg);
        }
    }

黑名单的音频应用

    /**
     * 黑名单的音频应用
     */
    private final ArrayList<String> mLoopInvalidSoundKillBlackList = new ArrayList<String>() {
        {
            add("com.hoolai.hlsg2");
            add("com.boyaa.sina");
            add("com.boyaa.qihuo");
            add("com.hlmj2016.android.pld");
            add("com.leqi.buyu");
        }
    };

    /**
     * 黑名单的音频应用
     */
    /** @hide */
    public boolean isLoopInvalidSoundBlackListApp(String str) {
        return mLoopInvalidSoundKillBlackList.contains(str);
    }

可被忽略的音频应用

    /**
     * 可被忽略的音频应用
     */
    /** @hide */
    public boolean isIgnoreAudioApp(String pkgName) {
        if (pkgName == null) {
            return false;
        }
        for (String item : mIgnoreAudioList) {
            if (pkgName.contains(item)) {
                return true;
            }
        }
        return true;
    }
    
    /**
     * 可被忽略的音频应用
     */
    private static final ArrayList<String> mIgnoreAudioList = new ArrayList<String>() {
        {
            add("com.meet.pianolearn");
            add("com.fgol.sharkfree3");
            add("com.gameloft.android.ANMP.Gloft");
            add("com.tencent.qqlive");
            add("com.popcap.pvz2cthdwct");
            add("com.tencent.feiji");
            add("com.ea.games.r3_row");
            add("com.sina.news");
            add("com.imangi.templerun2");
            add("com.netease.mhxyhtb");
            add("com.juanvision.EseeNetProj");
            add("com.taobao.taobao");
            add("com.tencent.tmgp.qmdhh");
            add("com.baidu.browser.apps");
            add("com.cmplay.tiles2_cn.");
            add("com.yaowan.dfh3.uc");
            add("com.baidu.hao123");
            add("com.coolfishgames.ironforce.uc");
            add("com.baidu.netdisk");
            add("com.baidu.searchbox");
            add("com.tencent.mtt");
            add("com.android.keyguard");
            add("com.smile.gifmaker");
            add("com.mojang.minecraftpe");
            add("com.znxh.hyhuo");
            add("com.android.browser");
            add("com..HwMultiScreenShot");
            add("com.shoujiduoduo.ringtone");
            add("com.sina.weibo");
            add("com.netease.dhxy.");
            add("com.tencent.tmgp.yys.zqb");
            add("org.egret.java.farm");
            add("com.UCMobile");
            add("qyg.project.ttfx.");
            add("com.qqgame.hlddz");
            add("com.netease.stzb.netease");
            add("com.happyelements.AndroidAnimal");
            add("com.happyelements.AndroidAnimal.qq");
            add("com.happyelements.AndroidAnimal.wdj");
            add("com.tencent.tmgp.sgame");
            add("com.netease.dhxy");
            add("com.netease.dhxy.uc");
            add("com.netease.my");
            add("com.netease.my.");
            add("com.netease.onmyoji.");
            add("com.hunantv.imgo.activity");
            add("com.netease.ldxy");
            add("com.szyp.goldfish6s2.");
            add("com.duowan.kiwi");
            add("com.boyaa.sina.");
            add("com.budejie.www");
            add("com.ifreetalk.ftalk");
            add("com.qihoo.cloudisk");
            add("com..hwireader");
            add("com.qihoo.browser");
            add("tv.danmaku.bili");
            add("com.chaozh.iReaderFree15");
            add("com.sinyee.babybus.kartRacing");
            add("com.gameduchy.jdzdDevelop");
            add("com.aquila.bible");
            add("cn.vcinema.cinema");
            add("com.duowan.makefriends");
            add("com.babytree.apps.pregnancy");
            add("com.netease.stzb.");
            add("air.com.RustyLake.CubeEscapeTheCave");
            add("com.com2us.smon.normal.freefull.google.kr.android.common");
        }
    };
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

法迪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值