Я хочу осуществить изменение объема, как показано на Youtube приложение во время литья, как если приложение в фоновом режиме или на экране блокировкиAndroid MediaRouter Объемные события
private void createSession() {
ComponentName receiver = new ComponentName(getPackageName(), RemoteReceiver.class.getName());
mediaSession = new MediaSessionCompat(this, "PlayerService", receiver, null);
mediaSession.setFlags(MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS |
MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS);
mediaSession.setPlaybackState(new PlaybackStateCompat.Builder()
.setState(PlaybackStateCompat.STATE_PLAYING, 0, 1f)
.setActions(PlaybackStateCompat.ACTION_PLAY_PAUSE)
.build());
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.requestAudioFocus(new AudioManager.OnAudioFocusChangeListener() {
@Override
public void onAudioFocusChange(int focusChange) {
// Ignore
}
}, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);
mediaSession.setActive(true);
mediaRouter = MediaRouter.getInstance(this);
mediaRouter.setMediaSessionCompat(mediaSession);
}
Теперь я получаю ползунок так же, как Изображение выше, и оно реагирует на кнопки регулировки громкости, но я не получаю изменения в своем широковещательном приемнике.
С помощью клавиш регулировки громкости onAdjustVolume вызывается с дельта 0 Любая идея, почему? при изменении громкости с использованием диалогового окна с отрисовкой это отлично работает – ingsaurabh
Он может быть вызван для обновления текущего тома. Это происходит не один раз? – 0xcaff
Кроме того, 'STEPS' должно быть отличным от нуля. – 0xcaff