The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.5KB

  1. package com.roli.juce;
  2. import android.media.session.MediaController;
  3. import android.media.session.MediaSession;
  4. import android.media.MediaMetadata;
  5. import android.media.session.PlaybackState;
  6. import java.util.List;
  7. //==============================================================================
  8. public class MediaControllerCallback extends MediaController.Callback
  9. {
  10. private native void mediaControllerAudioInfoChanged (long host, MediaController.PlaybackInfo info);
  11. private native void mediaControllerMetadataChanged (long host, MediaMetadata metadata);
  12. private native void mediaControllerPlaybackStateChanged (long host, PlaybackState state);
  13. private native void mediaControllerSessionDestroyed (long host);
  14. MediaControllerCallback (long hostToUse)
  15. {
  16. host = hostToUse;
  17. }
  18. @Override
  19. public void onAudioInfoChanged (MediaController.PlaybackInfo info)
  20. {
  21. mediaControllerAudioInfoChanged (host, info);
  22. }
  23. @Override
  24. public void onMetadataChanged (MediaMetadata metadata)
  25. {
  26. mediaControllerMetadataChanged (host, metadata);
  27. }
  28. @Override
  29. public void onPlaybackStateChanged (PlaybackState state)
  30. {
  31. mediaControllerPlaybackStateChanged (host, state);
  32. }
  33. @Override
  34. public void onQueueChanged (List<MediaSession.QueueItem> queue)
  35. {
  36. }
  37. @Override
  38. public void onSessionDestroyed ()
  39. {
  40. mediaControllerSessionDestroyed (host);
  41. }
  42. private long host;
  43. }