Android8.0平台使用第三方会议视频软件无声音

在做方案时,经常遇到客户需要预装第三方软件,由于第三方软件千奇百怪,没有经过适配不一定可以直接使用,即使可以使用也可能存在一些问题。

今遇到客户要求使用Teams、Zoom等会议视频软件,视频软件最重要的就是视频通话、语音通话。直接安装软件后发现,通话时无声音。

通过跟踪分析发现,framework下在处理声音时,有些config需要适配,否则声音不会输出。这个config主要是声音通道的切换,第三方软件大部分都使用的是喇叭输出。

对于遇到的问题,本人只作了很小的改动。

文件路径:frameworks/base/services/core/java/com/android/server/audio/AudioService.java

思路:在处理消息MSG_SET_FORCE_USE和MSG_SET_FORCE_BT_A2DP_USE时,把两者分开来,系统原生的是一起处理的。调用函数setForceUse时,传递的参数强制转化为AUDIO_POLICY_FORCE_SPEAKER,即第二个参数为0即可。

@Override
        public void handleMessage(Message msg) {
            switch (msg.what) {

                case MSG_SET_DEVICE_VOLUME:
                    setDeviceVolume((VolumeStreamState) msg.obj, msg.arg1);
                    break;

                case MSG_SET_ALL_VOLUMES:
                    setAllVolumes((VolumeStreamState) msg.obj);
                    break;

                case MSG_PERSIST_VOLUME:
                    persistVolume((VolumeStreamState) msg.obj, msg.arg1);
                    break;

                case MSG_PERSIST_RINGER_MODE:
                    // note that the value persisted is the current ringer mode, not the
                    // value of ringer mode as of the time the request was made to persist
                    persistRingerMode(getRingerModeInternal());
                  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Love~妍芯~燕~Love

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

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

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

打赏作者

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

抵扣说明:

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

余额充值