Ответ 1
Насколько я знаю, это невозможно с MediaPlayer по умолчанию. Вам необходимо расширить его и добавить свой собственный метод getVolume() вместе с переменной, отслеживающей текущий том.
Мне интересно получить текущий том 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(). Спасибо.
Насколько я знаю, это невозможно с MediaPlayer по умолчанию. Вам необходимо расширить его и добавить свой собственный метод getVolume() вместе с переменной, отслеживающей текущий том.