【发布时间】:2013-11-27 01:25:34
【问题描述】:
我有兴趣检索 MediaPlayer 的当前音量,但没有看到任何类似“getVolume()”的方法。有一个 setVolume(),所以我有点困惑为什么他们不提供读取这个属性的方法。
我看到其他一些建议使用 AudioManager 读取音量的答案:
int volumeLevel = am.getStreamVolume(AudioManager.STREAM_MUSIC);
int maxVolume = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
float volume = (float)volumeLevel/maxVolume;
但是,这似乎返回了所有音乐的设备音量,而不是我使用“setVolume()”设置的音量...有没有办法直接从 MediaPlayer 获取音量?我在想也许我需要用 getAudioSessionId() 做点什么。谢谢。
【问题讨论】:
-
你看过这篇文章吗? stackoverflow.com/questions/4593552/…
-
是的 getStreamVolume() 似乎总是返回相同的值,即使在我使用 MediaPlayer.setVolume() 手动设置音量后也是如此;
-
您找到解决方案了吗? AFAIK,您必须将当前音量级别存储在您自己的变量中。
标签: android media-player