Example usage for android.support.v4.media.session MediaSessionCompat MediaSessionCompat

List of usage examples for android.support.v4.media.session MediaSessionCompat MediaSessionCompat

Introduction

In this page you can find the example usage for android.support.v4.media.session MediaSessionCompat MediaSessionCompat.

Prototype

private MediaSessionCompat(Context context, MediaSessionImpl impl) 

Source Link

Usage

From source file:MainActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    MediaSessionCompat mediaSession = new MediaSessionCompat(this, getApplication().getPackageName());
    mediaSession.setCallback(mMediaSessionCallback);
    mediaSession.setFlags(MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS);
    mediaSession.setActive(true);//  w w  w .j  a  va  2 s .  c  o  m
    PlaybackStateCompat state = new PlaybackStateCompat.Builder().setActions(PlaybackStateCompat.ACTION_PLAY
            | PlaybackStateCompat.ACTION_PLAY_PAUSE | PlaybackStateCompat.ACTION_PAUSE
            | PlaybackStateCompat.ACTION_SKIP_TO_NEXT | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS).build();
    mediaSession.setPlaybackState(state);

}

From source file:android.support.mediacompat.service.StubMediaBrowserServiceCompatWithDelayedMediaSession.java

@Override
public void onCreate() {
    super.onCreate();
    sInstance = this;
    mSession = new MediaSessionCompat(this, "StubMediaBrowserServiceCompatWithDelayedMediaSession");
}

From source file:org.runbuddy.tomahawk.services.TomahawkMediaBrowserService.java

@Override
public void onCreate() {
    super.onCreate();

    Log.d(TAG, "oncreate");
    // Start a new MediaSession
    mSession = new MediaSessionCompat(this, "TomahawkMediaBrowserService");
    setSessionToken(mSession.getSessionToken());
}

From source file:org.gateshipone.odyssey.playbackservice.managers.PlaybackServiceStatusHelper.java

public PlaybackServiceStatusHelper(PlaybackService playbackService) {
    mPlaybackService = playbackService;//from  w  w  w  .  j  ava  2s . c o  m

    // Get MediaSession objects
    mMediaSession = new MediaSessionCompat(mPlaybackService, "OdysseyPBS");

    // Register the callback for the MediaSession
    mMediaSession.setCallback(new OdysseyMediaSessionCallback());

    mCoverLoader = new CoverBitmapLoader(mPlaybackService, new BitmapCoverListener());

    // Register the button receiver
    PendingIntent mediaButtonPendingIntent = PendingIntent.getBroadcast(mPlaybackService, 0,
            new Intent(mPlaybackService, RemoteControlReceiver.class), PendingIntent.FLAG_UPDATE_CURRENT);
    mMediaSession.setMediaButtonReceiver(mediaButtonPendingIntent);
    mMediaSession.setFlags(
            MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS + MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS);

    // Initialize the notification manager
    mNotificationManager = new OdysseyNotificationManager(mPlaybackService);
}

From source file:android.support.mediacompat.service.StubMediaBrowserServiceCompat.java

@Override
public void onCreate() {
    super.onCreate();
    sInstance = this;
    sSession = new MediaSessionCompat(this, "StubMediaBrowserServiceCompat");
    setSessionToken(sSession.getSessionToken());
}

From source file:net.simno.klingar.playback.MusicService.java

@Override
public void onCreate() {
    super.onCreate();
    Timber.d("onCreate");
    KlingarApp.get(this).component().inject(this);

    Playback playback = new LocalPlayback(getApplicationContext(), musicController, audioManager, wifiManager);
    playbackManager = new PlaybackManager(queueManager, this, AndroidClock.DEFAULT, playback);

    session = new MediaSessionCompat(this, "MusicService");

    try {//from w w w.  j  av  a2 s  .c o  m
        MediaControllerCompat mediaController = new MediaControllerCompat(this.getApplicationContext(),
                session.getSessionToken());
        musicController.setMediaController(mediaController);
    } catch (RemoteException e) {
        Timber.e(e, "Could not create MediaController");
        throw new IllegalStateException();
    }

    session.setCallback(playbackManager.getMediaSessionCallback());
    session.setFlags(FLAG_HANDLES_MEDIA_BUTTONS | FLAG_HANDLES_TRANSPORT_CONTROLS);

    Context context = getApplicationContext();
    Intent intent = new Intent(context, KlingarActivity.class);
    session.setSessionActivity(PendingIntent.getActivity(context, 99, intent, FLAG_UPDATE_CURRENT));

    playbackManager.updatePlaybackState();

    mediaNotificationManager = new MediaNotificationManager(this, musicController, queueManager, rx);

    castSessionManager = CastContext.getSharedInstance(this).getSessionManager();
    castSessionManagerListener = new CastSessionManagerListener();
    castSessionManager.addSessionManagerListener(castSessionManagerListener, CastSession.class);

    mediaRouter = MediaRouter.getInstance(getApplicationContext());

    timelineManager = new TimelineManager(musicController, queueManager, media, rx);
    timelineManager.start();
}

From source file:com.example.android.leanback.SampleVideoFragment.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mMediaPlayerGlue = new PlaybackTransportControlGlueSample(getActivity(),
            new MediaPlayerAdapter(getActivity()));

    // create a media session inside of a fragment, and app developer can determine if connect
    // this media session to glue or not
    // as requested in b/64935838
    mMediaSessionCompat = new MediaSessionCompat(getActivity(), MEDIA_SESSION_COMPAT_TOKEN);
    mMediaPlayerGlue.connectToMediaSession(mMediaSessionCompat);

    mMediaPlayerGlue.setHost(mHost);//  w ww  .  jav  a2  s  .  c o  m
    mMediaPlayerGlue.setMode(PlaybackControlsRow.RepeatAction.INDEX_NONE);
    mMediaPlayerGlue.addPlayerCallback(new PlaybackGlue.PlayerCallback() {
        boolean mSecondCompleted = false;

        @Override
        public void onPlayCompleted(PlaybackGlue glue) {
            if (!mSecondCompleted) {
                mSecondCompleted = true;
                mMediaPlayerGlue.setSubtitle("Leanback artist Changed!");
                mMediaPlayerGlue.setTitle("Leanback team at work");
                String uriPath = "https://storage.googleapis.com/android-tv/Sample videos/"
                        + "April Fool's 2013/Explore Treasure Mode with Google Maps.mp4";
                mMediaPlayerGlue.getPlayerAdapter().setDataSource(Uri.parse(uriPath));
                loadSeekData(mMediaPlayerGlue);
                playWhenReady(mMediaPlayerGlue);
            } else {
                mMediaPlayerGlue.removePlayerCallback(this);
                switchAnotherGlue();
            }
        }
    });
    mMediaPlayerGlue.setSubtitle("Leanback artist");
    mMediaPlayerGlue.setTitle("Leanback team at work");
    String uriPath = "https://storage.googleapis.com/android-tv/Sample videos/"
            + "April Fool's 2013/Explore Treasure Mode with Google Maps.mp4";
    mMediaPlayerGlue.getPlayerAdapter().setDataSource(Uri.parse(uriPath));
    loadSeekData(mMediaPlayerGlue);
    playWhenReady(mMediaPlayerGlue);
}

From source file:github.popeen.dsub.util.compat.RemoteControlClientLP.java

@Override
public void register(Context context, ComponentName mediaButtonReceiverComponent) {
    downloadService = (DownloadService) context;
    mediaSession = new MediaSessionCompat(downloadService, "DSub MediaSession");

    Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
    mediaButtonIntent.setComponent(mediaButtonReceiverComponent);
    PendingIntent mediaPendingIntent = PendingIntent.getBroadcast(context.getApplicationContext(), 0,
            mediaButtonIntent, 0);//from   w  w  w  .  ja  va  2s.  c  o m
    mediaSession.setMediaButtonReceiver(mediaPendingIntent);

    Intent activityIntent = new Intent(context, SubsonicFragmentActivity.class);
    activityIntent.putExtra(Constants.INTENT_EXTRA_NAME_DOWNLOAD, true);
    activityIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent activityPendingIntent = PendingIntent.getActivity(context, 0, activityIntent, 0);
    mediaSession.setSessionActivity(activityPendingIntent);

    mediaSession.setFlags(
            MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS | MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS);
    mediaSession.setCallback(new EventCallback());

    mediaSession.setPlaybackToLocal(AudioManager.STREAM_MUSIC);
    mediaSession.setActive(true);

    Bundle sessionExtras = new Bundle();
    sessionExtras.putBoolean(WEAR_BACKGROUND_THEME, true);
    sessionExtras.putBoolean(WEAR_RESERVE_SKIP_TO_PREVIOUS, true);
    sessionExtras.putBoolean(WEAR_RESERVE_SKIP_TO_NEXT, true);
    sessionExtras.putBoolean(AUTO_RESERVE_SKIP_TO_PREVIOUS, true);
    sessionExtras.putBoolean(AUTO_RESERVE_SKIP_TO_NEXT, true);
    mediaSession.setExtras(sessionExtras);

    imageLoader = SubsonicActivity.getStaticImageLoader(context);
}

From source file:com.classiqo.nativeandroid_32bitz.MusicService.java

@Override
public void onCreate() {
    super.onCreate();
    LogHelper.d(TAG, "onCreate");

    mMusicProvider = new MusicProvider();
    mMusicProvider.retrieveMediaAsync(null);
    mPackageValidator = new PackageValidator(this);

    QueueManager queueManager = new QueueManager(mMusicProvider, getResources(),
            new QueueManager.MetadataUpdateListener() {
                @Override/*from  w  w  w .ja  v  a 2  s . c  o  m*/
                public void onMetadataChanged(MediaMetadataCompat metadata) {
                    mSession.setMetadata(metadata);
                }

                @Override
                public void onMetadataRetrieveError() {
                    mPlaybackManager.updatePlaybackState(getString(R.string.error_no_metadata));
                }

                @Override
                public void onCurrentQueueIndexUpdated(int queueIndex) {
                    mPlaybackManager.handlePlayRequest();
                }

                @Override
                public void onQueueUpdated(String title, List<MediaSessionCompat.QueueItem> newQueue) {
                    mSession.setQueue(newQueue);
                    mSession.setQueueTitle(title);
                }
            });

    LocalPlayback playback = new LocalPlayback(this, mMusicProvider);
    mPlaybackManager = new PlaybackManager(this, getResources(), mMusicProvider, queueManager, playback);

    mSession = new MediaSessionCompat(this, "MusicService");
    setSessionToken(mSession.getSessionToken());
    mSession.setCallback(mPlaybackManager.getMediaSessionCallback());
    mSession.setFlags(
            MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS | MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS);

    Context context = getApplicationContext();
    Intent intent = new Intent(context, NowPlayingActivity.class);
    PendingIntent pi = PendingIntent.getActivity(context, 99, intent, PendingIntent.FLAG_UPDATE_CURRENT);
    mSession.setSessionActivity(pi);

    mSessionExtras = new Bundle();
    //        CarHelper.setSlotReservationFlags(mSessionExtras, true, true, true);
    //        WearHelper.setSlotReservationFlags(mSessionExtras, true, true);
    //        SearHelper.setUseBackgroundFromTheme(mSessionExtras, true);
    mSession.setExtras(mSessionExtras);

    mPlaybackManager.updatePlaybackState(null);

    try {
        mMediaNotificationManager = new MediaNotificationManager(this);
    } catch (RemoteException e) {
        throw new IllegalStateException("Could not create a MediaNotificationManager", e);
    }

    //        if (!TvHelper.isTvUiMode(this)) {
    //            mCastSessionManager = CastContext.getSharedInstance(this).getSessionManager();
    //            mCastSessionManagerListener = new CastSessionManagerListener();
    //            mCastSessionManager.addSessionManagerListener(mCastSessionManagerListener, CastSession.class);
    //        }

    mMediaRouter = MediaRouter.getInstance(getApplicationContext());

    //        registerCarConnectionReceiver();
}

From source file:com.phearom.um.MusicService.java

@Override
public void onCreate() {
    super.onCreate();
    LogHelper.d(TAG, "onCreate");

    mMusicProvider = new MusicProvider(getApplicationContext());
    mMusicProvider.retrieveMediaAsync(null /* Callback */);

    mPackageValidator = new PackageValidator(this);
    QueueManager queueManager = new QueueManager(mMusicProvider, getResources(),
            new QueueManager.MetadataUpdateListener() {
                @Override/*from ww  w .  j  a v a2  s .  co m*/
                public void onMetadataChanged(MediaMetadataCompat metadata) {
                    mSession.setMetadata(metadata);
                }

                @Override
                public void onMetadataRetrieveError() {
                    mPlaybackManager.updatePlaybackState(getString(R.string.error_no_metadata));
                }

                @Override
                public void onCurrentQueueIndexUpdated(int queueIndex) {
                    mPlaybackManager.handlePlayRequest();
                }

                @Override
                public void onQueueUpdated(String title, List<MediaSessionCompat.QueueItem> newQueue) {
                    mSession.setQueue(newQueue);
                    mSession.setQueueTitle(title);
                }
            });

    LocalPlayback playback = new LocalPlayback(this, mMusicProvider);
    mPlaybackManager = new PlaybackManager(this, getResources(), mMusicProvider, queueManager, playback);

    // Start a new MediaSession
    mSession = new MediaSessionCompat(this, "MusicService");
    setSessionToken(mSession.getSessionToken());
    mSession.setCallback(mPlaybackManager.getMediaSessionCallback());
    mSession.setFlags(
            MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS | MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS);

    Context context = getApplicationContext();
    Intent intent = new Intent(context, NowPlayingActivity.class);
    PendingIntent pi = PendingIntent.getActivity(context, 99 /*request code*/, intent,
            PendingIntent.FLAG_UPDATE_CURRENT);
    mSession.setSessionActivity(pi);

    mSessionExtras = new Bundle();
    mSession.setExtras(mSessionExtras);

    mPlaybackManager.updatePlaybackState(null);

    try {
        mMediaNotificationManager = new MediaNotificationManager(this);
    } catch (RemoteException e) {
        throw new IllegalStateException("Could not create a MediaNotificationManager", e);
    }
}