Search in sources :

Example 1 with MediaSessionConnector

use of com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector in project Signal-Android by WhisperSystems.

the class VoiceNotePlaybackService method onCreate.

@Override
public void onCreate() {
    super.onCreate();
    mediaSession = new MediaSessionCompat(this, TAG);
    voiceNotePlaybackParameters = new VoiceNotePlaybackParameters(mediaSession);
    mediaSessionConnector = new MediaSessionConnector(mediaSession);
    becomingNoisyReceiver = new BecomingNoisyReceiver(this, mediaSession.getSessionToken());
    keyClearedReceiver = new KeyClearedReceiver(this, mediaSession.getSessionToken());
    player = new VoiceNotePlayer(this);
    voiceNoteNotificationManager = new VoiceNoteNotificationManager(this, mediaSession.getSessionToken(), new VoiceNoteNotificationManagerListener());
    voiceNotePlaybackPreparer = new VoiceNotePlaybackPreparer(this, player, voiceNotePlaybackParameters);
    player.addListener(new VoiceNotePlayerEventListener());
    mediaSessionConnector.setPlayer(player);
    mediaSessionConnector.setEnabledPlaybackActions(SUPPORTED_ACTIONS);
    mediaSessionConnector.setPlaybackPreparer(voiceNotePlaybackPreparer);
    mediaSessionConnector.setQueueNavigator(new VoiceNoteQueueNavigator(mediaSession));
    VoiceNotePlaybackController voiceNotePlaybackController = new VoiceNotePlaybackController(player.getInternalPlayer(), voiceNotePlaybackParameters);
    mediaSessionConnector.registerCustomCommandReceiver(voiceNotePlaybackController);
    setSessionToken(mediaSession.getSessionToken());
    mediaSession.setActive(true);
    keyClearedReceiver.register();
}
Also used : MediaSessionCompat(android.support.v4.media.session.MediaSessionCompat) MediaSessionConnector(com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector)

Aggregations

MediaSessionCompat (android.support.v4.media.session.MediaSessionCompat)1 MediaSessionConnector (com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector)1