如何在Android上获得设备音频级别的百分比?

如何在Android上获得设备音频级别的百分比?,android,device,volume,Android,Device,Volume,我正在尝试让我的android应用程序检查设备的音量(媒体,而不是铃声)是否低于“x”百分比,但我不确定如何。我目前正在尝试: AudioManager am = (AudioManager) getSystemService(AUDIO_SERVICE); int volume = am.getStreamVolume(AudioManager.STREAM_MUSIC); if (volume <0.7) {message}; AudioManager am=(AudioManage

我正在尝试让我的android应用程序检查设备的音量(媒体,而不是铃声)是否低于“x”百分比,但我不确定如何。我目前正在尝试:

AudioManager am = (AudioManager) getSystemService(AUDIO_SERVICE);
int volume = am.getStreamVolume(AudioManager.STREAM_MUSIC);
if (volume <0.7) {message};
AudioManager am=(AudioManager)getSystemService(AUDIO\u服务);
int volume=am.getStreamVolume(AudioManager.STREAM_MUSIC);
如果(音量)
currentVolumePercentage
将是您的百分比!

kotlin函数中的相同答案

fun getCurrentAudioLevelPercentage(context: Context): Int {
    val audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager
    val currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)
    val maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)
    val percentage = 100 * currentVolume / maxVolume
    return percentage
}

可能重复我认为您使用整数除法是偶然的。它应该是
int currentVolumePercentage=100.0*currentVolume/maxVolume;
求值顺序是从左到右。所以双常量应该在左边。否则,当“损坏”发生时,您只是将整数除法结果相乘已完成。请向上投票。:-)
fun getCurrentAudioLevelPercentage(context: Context): Int {
    val audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager
    val currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)
    val maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)
    val percentage = 100 * currentVolume / maxVolume
    return percentage
}