AudioManager中setStreamVolume与adjustStreamVolume

本文探讨了在Android中遇到的一个bug,即使用setStreamVolume设置音量为0时,会导致耳机和扬声器音量同步为0。通过查看系统volume日志并与网易云音乐对比,发现adjustStreamVolume可以避免该问题。文章分析了setStreamVolume与adjustStreamVolume的区别,并指出正确设置音量为0的方法。
摘要由CSDN通过智能技术生成

今日遇到一个bug, 酷狗音乐扬声器播放歌曲,此时假定音量值为10。
插入耳机,按手机音量键将音量值调为0,拔出耳机,播放音乐,发现扬声器音量也被置为0。

一、亲自验证?
  • 只有当音量值调为0时,耳机与扬声器音量会将另一方置0,其他音量时互不影响
  • 目前QQ音乐、网易云均无此现象
二、查看系统volume日志,惊奇发现:
AudioService: setStreamVolume 3, index = 0, flags = 8 from pid = 23805 callingPackage = com.kugou.android
AudioService: update volume cache, stream:3, device:headphone, index:0, caller:com.kugou.android
AudioService: update volume cache, stream:9, device:headphone, index:0, caller:com.kugou.android
ActivityManager: Broadcast: Intent { act=android.media.VOLUME_CHANGED_ACTION flg=0x14000010 (has extras) } ordered=false userid=-1 callerApp=ProcessRecord{
  3f82fa1 994:system/1000}
AudioService: update volume cache, stream:9, device:speaker, index:0, caller:com.kugou.android
ActivityManager: Broadcast: Intent { act=android.media.VOLUME_CHANGED_ACTION flg=0x14000010 (has extras) } ordered=false userid=-1 callerApp=ProcessRecord{
  3
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值