Java Code Examples for android.media.session.MediaSession#setCallback()
The following examples show how to use
android.media.session.MediaSession#setCallback() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: MusicService.java From android-music-player with Apache License 2.0 | 7 votes |
@Override public void onCreate() { super.onCreate(); // Start a new MediaSession mSession = new MediaSession(this, "MusicService"); mSession.setCallback(mCallback); mSession.setFlags(MediaSession.FLAG_HANDLES_MEDIA_BUTTONS | MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS); setSessionToken(mSession.getSessionToken()); final MediaNotificationManager mediaNotificationManager = new MediaNotificationManager(this); mPlayback = new PlaybackManager(this, new PlaybackManager.Callback() { @Override public void onPlaybackStatusChanged(PlaybackState state) { mSession.setPlaybackState(state); mediaNotificationManager.update(mPlayback.getCurrentMedia(), state, getSessionToken()); } }); }
Example 2
Source File: MusicService.java From io2015-codelabs with Apache License 2.0 | 6 votes |
@Override public void onCreate() { super.onCreate(); // Start a new MediaSession mSession = new MediaSession(this, "MusicService"); mSession.setCallback(mCallback); mSession.setFlags(MediaSession.FLAG_HANDLES_MEDIA_BUTTONS | MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS); setSessionToken(mSession.getSessionToken()); final MediaNotificationManager mediaNotificationManager = new MediaNotificationManager(this); mPlayback = new PlaybackManager(this, new PlaybackManager.Callback() { @Override public void onPlaybackStatusChanged(PlaybackState state) { mSession.setPlaybackState(state); mediaNotificationManager.update(mPlayback.getCurrentMedia(), state, getSessionToken()); } }); }
Example 3
Source File: MusicBrowserService.java From TelePlus-Android with GNU General Public License v2.0 | 5 votes |
@Override public void onCreate() { super.onCreate(); ApplicationLoader.postInitApplication(); lastSelectedDialog = MessagesController.getNotificationsSettings(currentAccount).getInt("auto_lastSelectedDialog", 0); mediaSession = new MediaSession(this, "MusicService"); setSessionToken(mediaSession.getSessionToken()); mediaSession.setCallback(new MediaSessionCallback()); mediaSession.setFlags(MediaSession.FLAG_HANDLES_MEDIA_BUTTONS | MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS); Context context = getApplicationContext(); Intent intent = new Intent(context, LaunchActivity.class); PendingIntent pi = PendingIntent.getActivity(context, 99, intent, PendingIntent.FLAG_UPDATE_CURRENT); mediaSession.setSessionActivity(pi); Bundle extras = new Bundle(); extras.putBoolean(SLOT_RESERVATION_QUEUE, true); extras.putBoolean(SLOT_RESERVATION_SKIP_TO_PREV, true); extras.putBoolean(SLOT_RESERVATION_SKIP_TO_NEXT, true); mediaSession.setExtras(extras); updatePlaybackState(null); NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.messagePlayingPlayStateChanged); NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.messagePlayingDidStarted); NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.messagePlayingDidReset); }
Example 4
Source File: MusicBrowserService.java From TelePlus-Android with GNU General Public License v2.0 | 5 votes |
@Override public void onCreate() { super.onCreate(); ApplicationLoader.postInitApplication(); lastSelectedDialog = MessagesController.getNotificationsSettings(currentAccount).getInt("auto_lastSelectedDialog", 0); mediaSession = new MediaSession(this, "MusicService"); setSessionToken(mediaSession.getSessionToken()); mediaSession.setCallback(new MediaSessionCallback()); mediaSession.setFlags(MediaSession.FLAG_HANDLES_MEDIA_BUTTONS | MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS); Context context = getApplicationContext(); Intent intent = new Intent(context, LaunchActivity.class); PendingIntent pi = PendingIntent.getActivity(context, 99, intent, PendingIntent.FLAG_UPDATE_CURRENT); mediaSession.setSessionActivity(pi); Bundle extras = new Bundle(); extras.putBoolean(SLOT_RESERVATION_QUEUE, true); extras.putBoolean(SLOT_RESERVATION_SKIP_TO_PREV, true); extras.putBoolean(SLOT_RESERVATION_SKIP_TO_NEXT, true); mediaSession.setExtras(extras); updatePlaybackState(null); NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.messagePlayingPlayStateChanged); NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.messagePlayingDidStarted); NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.messagePlayingDidReset); }
Example 5
Source File: WearBrowserService.java From Muzesto with GNU General Public License v3.0 | 5 votes |
@Override public void onCreate() { super.onCreate(); sInstance = this; mContext = this; mSession = new MediaSession(this, "WearBrowserService"); setSessionToken(mSession.getSessionToken()); mSession.setCallback(new MediaSessionCallback()); mSession.setFlags(MediaSession.FLAG_HANDLES_MEDIA_BUTTONS | MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS); }
Example 6
Source File: ExoPlayerAudio.java From ChannelSurfer with MIT License | 5 votes |
@Override public void onCreate() { super.onCreate(); mSession = new MediaSession(this, "ExoPlayerAudio"); setSessionToken(mSession.getSessionToken()); mSession.setCallback(new MediaSessionCallback()); mSession.setFlags(MediaSession.FLAG_HANDLES_MEDIA_BUTTONS | MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS); }
Example 7
Source File: MusicBrowserService.java From Telegram-FOSS with GNU General Public License v2.0 | 5 votes |
@Override public void onCreate() { super.onCreate(); ApplicationLoader.postInitApplication(); lastSelectedDialog = MessagesController.getNotificationsSettings(currentAccount).getInt("auto_lastSelectedDialog", 0); mediaSession = new MediaSession(this, "MusicService"); setSessionToken(mediaSession.getSessionToken()); mediaSession.setCallback(new MediaSessionCallback()); mediaSession.setFlags(MediaSession.FLAG_HANDLES_MEDIA_BUTTONS | MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS); Context context = getApplicationContext(); Intent intent = new Intent(context, LaunchActivity.class); PendingIntent pi = PendingIntent.getActivity(context, 99, intent, PendingIntent.FLAG_UPDATE_CURRENT); mediaSession.setSessionActivity(pi); Bundle extras = new Bundle(); extras.putBoolean(SLOT_RESERVATION_QUEUE, true); extras.putBoolean(SLOT_RESERVATION_SKIP_TO_PREV, true); extras.putBoolean(SLOT_RESERVATION_SKIP_TO_NEXT, true); mediaSession.setExtras(extras); updatePlaybackState(null); NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.messagePlayingPlayStateChanged); NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.messagePlayingDidStart); NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.messagePlayingDidReset); }
Example 8
Source File: AutoMediaBrowserService.java From AndroidDemoProjects with Apache License 2.0 | 5 votes |
private void initMediaSession() { mMediaSession = new MediaSession( this, "Android Auto Audio Demo" ); mMediaSession.setActive( true ); mMediaSession.setCallback( mMediaSessionCallback ); mMediaSessionToken = mMediaSession.getSessionToken(); setSessionToken( mMediaSessionToken ); }
Example 9
Source File: MusicBrowserService.java From Telegram with GNU General Public License v2.0 | 5 votes |
@Override public void onCreate() { super.onCreate(); ApplicationLoader.postInitApplication(); lastSelectedDialog = MessagesController.getNotificationsSettings(currentAccount).getInt("auto_lastSelectedDialog", 0); mediaSession = new MediaSession(this, "MusicService"); setSessionToken(mediaSession.getSessionToken()); mediaSession.setCallback(new MediaSessionCallback()); mediaSession.setFlags(MediaSession.FLAG_HANDLES_MEDIA_BUTTONS | MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS); Context context = getApplicationContext(); Intent intent = new Intent(context, LaunchActivity.class); PendingIntent pi = PendingIntent.getActivity(context, 99, intent, PendingIntent.FLAG_UPDATE_CURRENT); mediaSession.setSessionActivity(pi); Bundle extras = new Bundle(); extras.putBoolean(SLOT_RESERVATION_QUEUE, true); extras.putBoolean(SLOT_RESERVATION_SKIP_TO_PREV, true); extras.putBoolean(SLOT_RESERVATION_SKIP_TO_NEXT, true); mediaSession.setExtras(extras); updatePlaybackState(null); NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.messagePlayingPlayStateChanged); NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.messagePlayingDidStart); NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.messagePlayingDidReset); }
Example 10
Source File: MusicPlayerService.java From TelePlus-Android with GNU General Public License v2.0 | 4 votes |
@Override public void onCreate() { audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); for (int a = 0; a < UserConfig.MAX_ACCOUNT_COUNT; a++) { NotificationCenter.getInstance(a).addObserver(this, NotificationCenter.messagePlayingDidSeek); NotificationCenter.getInstance(a).addObserver(this, NotificationCenter.messagePlayingPlayStateChanged); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { mediaSession = new MediaSession(this, "telegramAudioPlayer"); playbackState = new PlaybackState.Builder(); albumArtPlaceholder = Bitmap.createBitmap(AndroidUtilities.dp(102), AndroidUtilities.dp(102), Bitmap.Config.ARGB_8888); Drawable placeholder = getResources().getDrawable(R.drawable.nocover_big); placeholder.setBounds(0, 0, albumArtPlaceholder.getWidth(), albumArtPlaceholder.getHeight()); placeholder.draw(new Canvas(albumArtPlaceholder)); mediaSession.setCallback(new MediaSession.Callback() { @Override public void onPlay() { MediaController.getInstance().playMessage(MediaController.getInstance().getPlayingMessageObject()); } @Override public void onPause() { MediaController.getInstance().pauseMessage(MediaController.getInstance().getPlayingMessageObject()); } @Override public void onSkipToNext() { MediaController.getInstance().playNextMessage(); } @Override public void onSkipToPrevious() { MediaController.getInstance().playPreviousMessage(); } @Override public void onStop() { //stopSelf(); } }); mediaSession.setActive(true); } super.onCreate(); }
Example 11
Source File: MusicPlayerService.java From TelePlus-Android with GNU General Public License v2.0 | 4 votes |
@Override public void onCreate() { audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); for (int a = 0; a < UserConfig.MAX_ACCOUNT_COUNT; a++) { NotificationCenter.getInstance(a).addObserver(this, NotificationCenter.messagePlayingDidSeek); NotificationCenter.getInstance(a).addObserver(this, NotificationCenter.messagePlayingPlayStateChanged); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { mediaSession = new MediaSession(this, "telegramAudioPlayer"); playbackState = new PlaybackState.Builder(); albumArtPlaceholder = Bitmap.createBitmap(AndroidUtilities.dp(102), AndroidUtilities.dp(102), Bitmap.Config.ARGB_8888); Drawable placeholder = getResources().getDrawable(R.drawable.nocover_big); placeholder.setBounds(0, 0, albumArtPlaceholder.getWidth(), albumArtPlaceholder.getHeight()); placeholder.draw(new Canvas(albumArtPlaceholder)); mediaSession.setCallback(new MediaSession.Callback() { @Override public void onPlay() { MediaController.getInstance().playMessage(MediaController.getInstance().getPlayingMessageObject()); } @Override public void onPause() { MediaController.getInstance().pauseMessage(MediaController.getInstance().getPlayingMessageObject()); } @Override public void onSkipToNext() { MediaController.getInstance().playNextMessage(); } @Override public void onSkipToPrevious() { MediaController.getInstance().playPreviousMessage(); } @Override public void onStop() { //stopSelf(); } }); mediaSession.setActive(true); } super.onCreate(); }
Example 12
Source File: MusicService.java From LyricHere with Apache License 2.0 | 4 votes |
@Override public void onCreate() { super.onCreate(); LogUtils.d(TAG, "onCreate"); mPlayingQueue = new ArrayList<>(); mMusicProvider = new MusicProvider(); mEventReceiver = new ComponentName(getPackageName(), MediaButtonReceiver.class.getName()); Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON); mediaButtonIntent.setComponent(mEventReceiver); mMediaPendingIntent = PendingIntent.getBroadcast(this, 0, mediaButtonIntent, 0); // Start a new MediaSession mSession = new MediaSessionCompat(this, "MusicService", mEventReceiver, mMediaPendingIntent); final MediaSessionCallback cb = new MediaSessionCallback(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // Shouldn't really have to do this but the MediaSessionCompat method uses // an internal proxy class, which doesn't forward events such as // onPlayFromMediaId when running on Lollipop. final MediaSession session = (MediaSession) mSession.getMediaSession(); session.setCallback(new MediaSessionCallbackProxy(cb)); } else { mSession.setCallback(cb); } setSessionToken(mSession.getSessionToken()); mSession.setFlags(MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS | MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS); mPlayback = new LocalPlayback(this, mMusicProvider); mPlayback.setState(PlaybackStateCompat.STATE_NONE); mPlayback.setCallback(this); mPlayback.start(); Context context = getApplicationContext(); Intent intent = new Intent(context, MusicPlayerActivity.class); PendingIntent pi = PendingIntent.getActivity(context, 99 /*request code*/, intent, PendingIntent.FLAG_UPDATE_CURRENT); mSession.setSessionActivity(pi); mSessionExtras = new Bundle(); mSession.setExtras(mSessionExtras); updatePlaybackState(null); mMediaNotificationManager = new MediaNotificationManager(this); }
Example 13
Source File: MusicPlayerService.java From Telegram-FOSS with GNU General Public License v2.0 | 4 votes |
@Override public void onCreate() { audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); for (int a = 0; a < UserConfig.MAX_ACCOUNT_COUNT; a++) { NotificationCenter.getInstance(a).addObserver(this, NotificationCenter.messagePlayingDidSeek); NotificationCenter.getInstance(a).addObserver(this, NotificationCenter.messagePlayingPlayStateChanged); NotificationCenter.getInstance(a).addObserver(this, NotificationCenter.httpFileDidLoad); NotificationCenter.getInstance(a).addObserver(this, NotificationCenter.fileDidLoad); } imageReceiver = new ImageReceiver(null); imageReceiver.setDelegate((imageReceiver, set, thumb, memCache) -> { if (set && !TextUtils.isEmpty(loadingFilePath)) { MessageObject messageObject = MediaController.getInstance().getPlayingMessageObject(); if (messageObject != null) { createNotification(messageObject, true); } loadingFilePath = null; } }); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { mediaSession = new MediaSession(this, "telegramAudioPlayer"); playbackState = new PlaybackState.Builder(); albumArtPlaceholder = Bitmap.createBitmap(AndroidUtilities.dp(102), AndroidUtilities.dp(102), Bitmap.Config.ARGB_8888); Drawable placeholder = getResources().getDrawable(R.drawable.nocover_big); placeholder.setBounds(0, 0, albumArtPlaceholder.getWidth(), albumArtPlaceholder.getHeight()); placeholder.draw(new Canvas(albumArtPlaceholder)); mediaSession.setCallback(new MediaSession.Callback() { @Override public void onPlay() { MediaController.getInstance().playMessage(MediaController.getInstance().getPlayingMessageObject()); } @Override public void onPause() { MediaController.getInstance().pauseMessage(MediaController.getInstance().getPlayingMessageObject()); } @Override public void onSkipToNext() { MediaController.getInstance().playNextMessage(); } @Override public void onSkipToPrevious() { MediaController.getInstance().playPreviousMessage(); } @Override public void onSeekTo(long pos) { MessageObject object = MediaController.getInstance().getPlayingMessageObject(); if (object != null) { MediaController.getInstance().seekToProgress(object, pos / 1000 / (float) object.getDuration()); updatePlaybackState(pos); } } @Override public void onStop() { //stopSelf(); } }); mediaSession.setActive(true); } registerReceiver(headsetPlugReceiver, new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY)); super.onCreate(); }
Example 14
Source File: MediaPlayerService.java From AndroidDemoProjects with Apache License 2.0 | 4 votes |
private void initMediaSessions() { mMediaPlayer = new MediaPlayer(); mSession = new MediaSession(getApplicationContext(), "simple player session"); mController =new MediaController(getApplicationContext(), mSession.getSessionToken()); mSession.setCallback(new MediaSession.Callback(){ @Override public void onPlay() { super.onPlay(); Log.e( "MediaPlayerService", "onPlay"); buildNotification( generateAction( android.R.drawable.ic_media_pause, "Pause", ACTION_PAUSE ) ); } @Override public void onPause() { super.onPause(); Log.e( "MediaPlayerService", "onPause"); buildNotification(generateAction(android.R.drawable.ic_media_play, "Play", ACTION_PLAY)); } @Override public void onSkipToNext() { super.onSkipToNext(); Log.e( "MediaPlayerService", "onSkipToNext"); //Change media here buildNotification( generateAction( android.R.drawable.ic_media_pause, "Pause", ACTION_PAUSE ) ); } @Override public void onSkipToPrevious() { super.onSkipToPrevious(); Log.e( "MediaPlayerService", "onSkipToPrevious"); //Change media here buildNotification( generateAction( android.R.drawable.ic_media_pause, "Pause", ACTION_PAUSE ) ); } @Override public void onFastForward() { super.onFastForward(); Log.e( "MediaPlayerService", "onFastForward"); //Manipulate current media here } @Override public void onRewind() { super.onRewind(); Log.e( "MediaPlayerService", "onRewind"); //Manipulate current media here } @Override public void onStop() { super.onStop(); Log.e( "MediaPlayerService", "onStop"); //Stop media player here NotificationManager notificationManager = (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.cancel( 1 ); Intent intent = new Intent( getApplicationContext(), MediaPlayerService.class ); stopService( intent ); } @Override public void onSeekTo(long pos) { super.onSeekTo(pos); } @Override public void onSetRating(Rating rating) { super.onSetRating(rating); } } ); }
Example 15
Source File: MusicPlayerService.java From Telegram with GNU General Public License v2.0 | 4 votes |
@Override public void onCreate() { audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); for (int a = 0; a < UserConfig.MAX_ACCOUNT_COUNT; a++) { NotificationCenter.getInstance(a).addObserver(this, NotificationCenter.messagePlayingDidSeek); NotificationCenter.getInstance(a).addObserver(this, NotificationCenter.messagePlayingPlayStateChanged); NotificationCenter.getInstance(a).addObserver(this, NotificationCenter.httpFileDidLoad); NotificationCenter.getInstance(a).addObserver(this, NotificationCenter.fileDidLoad); } imageReceiver = new ImageReceiver(null); imageReceiver.setDelegate((imageReceiver, set, thumb, memCache) -> { if (set && !TextUtils.isEmpty(loadingFilePath)) { MessageObject messageObject = MediaController.getInstance().getPlayingMessageObject(); if (messageObject != null) { createNotification(messageObject, true); } loadingFilePath = null; } }); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { mediaSession = new MediaSession(this, "telegramAudioPlayer"); playbackState = new PlaybackState.Builder(); albumArtPlaceholder = Bitmap.createBitmap(AndroidUtilities.dp(102), AndroidUtilities.dp(102), Bitmap.Config.ARGB_8888); Drawable placeholder = getResources().getDrawable(R.drawable.nocover_big); placeholder.setBounds(0, 0, albumArtPlaceholder.getWidth(), albumArtPlaceholder.getHeight()); placeholder.draw(new Canvas(albumArtPlaceholder)); mediaSession.setCallback(new MediaSession.Callback() { @Override public void onPlay() { MediaController.getInstance().playMessage(MediaController.getInstance().getPlayingMessageObject()); } @Override public void onPause() { MediaController.getInstance().pauseMessage(MediaController.getInstance().getPlayingMessageObject()); } @Override public void onSkipToNext() { MediaController.getInstance().playNextMessage(); } @Override public void onSkipToPrevious() { MediaController.getInstance().playPreviousMessage(); } @Override public void onSeekTo(long pos) { MessageObject object = MediaController.getInstance().getPlayingMessageObject(); if (object != null) { MediaController.getInstance().seekToProgress(object, pos / 1000 / (float) object.getDuration()); updatePlaybackState(pos); } } @Override public void onStop() { //stopSelf(); } }); mediaSession.setActive(true); } registerReceiver(headsetPlugReceiver, new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY)); super.onCreate(); }