// 获取音频管理实例
val mAudioManager = getSystemService(AUDIO_SERVICE) as AudioManager
// 设置要控制的音频流类型
val streamType = AudioManager.STREAM_MUSIC
// 获取最大音量,当前音量
val maxVolume = mAudioManager.getStreamMaxVolume(streamType)
var currentVolume = mAudioManager.getStreamVolume(streamType)
binding.seekBar.progress = currentVolume
binding.upBtn.setOnClickListener {
if (currentVolume < maxVolume) {
currentVolume++
}
binding.seekBar.progress = currentVolume
// 把数据设置给系统的流类型,音量值,第三个参数音量条是否可见.0为不可见
mAudioManager.setStreamVolume(streamType, currentVolume, AudioManager.FLAG_SHOW_UI)
}
可以使用Handler来实现延迟隐藏的效果
1.调节音量之后,在一定时间内自动关闭显示的音量ui。可以通过定时器来控制,弊端是定时器控制不精准,可以查找下api,是否有响应的声音ui显示隐藏的回调函数。如果有回调函数I就可以精确控制ui的显示与隐藏了。
2.getSystemService需要传递上下文。上面的提示一定说明了。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!