去掉Android中的耳机音量调节到最大时候的音量检查

问题背景:

Android R Automotive版本开发车机过程中,想要实现多通路音频输出,正常选择了一个通路对应speaker这个output device,另外一个通路选择了wired headset作为output device,此时遇到一个问题,Android的机制有一个音量检查的问题,耳机在这里不符合这个检查,因此配置耳机通路的这一路在调节音量的时候不能调节到最大音量,正常在手机上会弹出一个窗口让用户手动选择,但是Automotive版本这个弹窗被关闭了,解决该问题需要做如下修改:

// ./frameworks/base/services/core/java/com/android/server/audio/AudioService.java
private boolean checkSafeMediaVolume(int streamType, int index, int device) {
	synchronized (mSafeMediaVolumeStateLock) {
		+ // close safe MediaVolume in car
		+ return true;
	// if ((mSafeMediaVolumeState == SAFE_MEDIA_VOLUME_ACTIVE)
	//         && (mStreamVolumeAlias[streamType] == AudioSystem.STREAM_MUSIC)
	//         && (mSafeMediaVolumeDevices.contains(device))
	//         && (index > safeMediaVolumeIndex(device))) {
	//     return false;
	// }
      // return true; // 这些如果不注释掉java编译的时候会报错,不能访问的代码对虚拟机来说是错误的
	}
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值