Sono interessato a recuperare il volume corrente di un MediaPlayer, ma non vedo alcun metodo come "getVolume()" su di esso. C'è un setVolume(), quindi sono un po 'confuso sul motivo per cui non forniscono anche un modo per leggere questa proprietà.Android MediaPlayer ottiene volume
Ho visto alcune altre risposte che hanno suggerito di utilizzare AudioManager per leggere il volume:
int volumeLevel = am.getStreamVolume(AudioManager.STREAM_MUSIC);
int maxVolume = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
float volume = (float)volumeLevel/maxVolume;
Tuttavia, questo sembra restituire il volume del dispositivo per tutta la musica, e non il volume che sto impostazione con ' setVolume() '... c'è un modo per ottenere il volume direttamente da un MediaPlayer? Stavo pensando che forse ho bisogno di fare qualcosa con getAudioSessionId(). Grazie.
Hai visto questo post? http://stackoverflow.com/questions/4593552/how-do-you-get-set-media-volume-not-ringtone-volume-in-android – Joel
Yea getStreamVolume() sembra restituire sempre lo stesso valore anche dopo I imposta manualmente il volume con MediaPlayer.setVolume(); –
Hai trovato una soluzione per questo? AFAIK, devi memorizzare i livelli di volume attuali sulle tue variabili. –