2017-08-09 53 views
1

我想让我的android应用程序检查设备的音量(媒体,不是铃声)低于'x'百分比,但我不确定如何。我目前正在此:如何在Android上以百分比获取设备音频级别?

AudioManager am = (AudioManager) getSystemService(AUDIO_SERVICE); 
int volume = am.getStreamVolume(AudioManager.STREAM_MUSIC); 
if (volume <0.7) {message}; 

编辑:我想要的体积百分比,如10%/ 20%...

+0

[你如何在Android中获取/设置媒体音量(不是铃声音量)?](https://stackoverflow.com/questions/4593552/how-do-you-get-set-media-volume -not-ringtone-volume-in-android) – Jonathan

回答

1
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
int currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 
int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); 
int currentVolumePercentage = 100 * currentVolume/maxVolume; 

currentVolumePercentage将是你的百分比!

+1

我认为你正在使用整数除法。它应该是'int currentVolumePercentage = 100.0 * currentVolume/maxVolume;' – user643011

+1

@ user643011你是对的,编辑。 –

+1

评估订单从左到右。所以双常数应该在左边。否则,当“损坏”已经完成时,您只是乘以整数除法结果。 https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html Upvote赞赏。 :-) – user643011