Android MediaPlayer获得音量

Ric*_*joy 16 android media-player

我有兴趣检索MediaPlayer的当前音量,但是没有看到任何像'getVolume()'这样的方法.有一个setVolume(),所以我有点困惑为什么他们也没有提供一种方法来读取这个属性.

我看到了一些建议使用AudioManager读取音量的其他答案:

    int volumeLevel = am.getStreamVolume(AudioManager.STREAM_MUSIC);    
    int maxVolume = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);

    float volume = (float)volumeLevel/maxVolume;
Run Code Online (Sandbox Code Playgroud)

但是,这似乎返回了所有音乐的设备音量,而不是我使用'setVolume()'设置的音量...有没有办法直接从MediaPlayer获取音量?我想也许我需要用getAudioSessionId()做一些事情.谢谢.

Tem*_*haf 4

据我所知,默认的 MediaPlayer 是不可能实现这一点的。您需要扩展它并添加您自己的 getVolume() 方法以及跟踪当前音量的变量。