private void CreateMediaSession() { mediaSessionCompatCallback = new MediaSessionCompatCallbacks(this); mediaSessionCompat = new MediaSessionCompat(context, channelId); Android.Support.V4.Media.MediaMetadataCompat.Builder mediaMetadataCompat = new Android.Support.V4.Media.MediaMetadataCompat.Builder(); mediaMetadataCompat.PutString(Android.Support.V4.Media.MediaMetadataCompat.MetadataKeyArtist, AppResources.UnknownArtist); mediaMetadataCompat.PutString(Android.Support.V4.Media.MediaMetadataCompat.MetadataKeyTitle, AppResources.UnknownTitle); mediaSessionCompat.SetMetadata(mediaMetadataCompat.Build()); mediaSessionCompat.SetMediaButtonReceiver(PendingIntent.GetBroadcast(context, 5, mediaButtonReceiverIntent, PendingIntentFlags.CancelCurrent)); //TODO: Not working playbackStateCompat = new PlaybackStateCompat.Builder().SetActions(PlaybackStateCompat.ActionStop | PlaybackStateCompat.ActionPlay | PlaybackStateCompat.ActionPause | PlaybackStateCompat.ActionPlayPause | PlaybackStateCompat.ActionSkipToNext | PlaybackStateCompat.ActionSkipToPrevious) .SetState(PlaybackStateCompat.StateBuffering, PlaybackStateCompat.PlaybackPositionUnknown, 0) .Build(); mediaPlayer = MediaPlayer.Create(context, Resource.Raw.silence); mediaPlayer.Start(); mediaSessionCompat.SetPlaybackState(playbackStateCompat); mediaSessionCompat.SetCallback(mediaSessionCompatCallback); mediaSessionCompat.Active = true; }
public void RegisterMediaButtonEvent() { mediaSessionCompat.SetMediaButtonReceiver(mediaButtonPendingIntent); //mAudioManager.RegisterMediaButtonEventReceiver(mediaButtonPendingIntent); }