6
chcę wdrożyć zmianę głośności jak widać na Youtube aplikacji podczas odlewania, jak jeśli aplikacja znajduje się w tle lub na ekranie blokadyAndroid MediaRouter głośności wydarzenia
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);
}
Teraz mam suwak tak jak Powyższy obraz odpowiada na przyciski głośności, ale nie otrzymuję zmian w odbiorniku.
Na używając klawiszy głośności onAdjustVolume jest wywoływana z delty 0 jakiś pomysł dlaczego? podczas zmiany głośności za pomocą okna dialogowego Cast działa to dobrze – ingsaurabh
Może zostać wywołane w celu zaktualizowania bieżącego woluminu. Czy dzieje się to więcej niż raz? – 0xcaff
Również "KROKI" powinny być niezerowe. – 0xcaff