|
- $$VideoApi21
- //==============================================================================
- public class MediaControllerCallback extends MediaController.Callback
- {
- private native void mediaControllerAudioInfoChanged (long host, MediaController.PlaybackInfo info);
- private native void mediaControllerMetadataChanged (long host, MediaMetadata metadata);
- private native void mediaControllerPlaybackStateChanged (long host, PlaybackState state);
- private native void mediaControllerSessionDestroyed (long host);
-
- MediaControllerCallback (long hostToUse)
- {
- host = hostToUse;
- }
-
- @Override
- public void onAudioInfoChanged (MediaController.PlaybackInfo info)
- {
- mediaControllerAudioInfoChanged (host, info);
- }
-
- @Override
- public void onMetadataChanged (MediaMetadata metadata)
- {
- mediaControllerMetadataChanged (host, metadata);
- }
-
- @Override
- public void onPlaybackStateChanged (PlaybackState state)
- {
- mediaControllerPlaybackStateChanged (host, state);
- }
-
- @Override
- public void onQueueChanged (List<MediaSession.QueueItem> queue) {}
-
- @Override
- public void onSessionDestroyed()
- {
- mediaControllerSessionDestroyed (host);
- }
-
- private long host;
- }
-
- //==============================================================================
- public class MediaSessionCallback extends MediaSession.Callback
- {
- private native void mediaSessionPause (long host);
- private native void mediaSessionPlay (long host);
- private native void mediaSessionPlayFromMediaId (long host, String mediaId, Bundle extras);
- private native void mediaSessionSeekTo (long host, long pos);
- private native void mediaSessionStop (long host);
-
-
- MediaSessionCallback (long hostToUse)
- {
- host = hostToUse;
- }
-
- @Override
- public void onPause()
- {
- mediaSessionPause (host);
- }
-
- @Override
- public void onPlay()
- {
- mediaSessionPlay (host);
- }
-
- @Override
- public void onPlayFromMediaId (String mediaId, Bundle extras)
- {
- mediaSessionPlayFromMediaId (host, mediaId, extras);
- }
-
- @Override
- public void onSeekTo (long pos)
- {
- mediaSessionSeekTo (host, pos);
- }
-
- @Override
- public void onStop()
- {
- mediaSessionStop (host);
- }
-
- @Override
- public void onFastForward() {}
-
- @Override
- public boolean onMediaButtonEvent (Intent mediaButtonIntent)
- {
- return true;
- }
-
- @Override
- public void onRewind() {}
-
- @Override
- public void onSkipToNext() {}
-
- @Override
- public void onSkipToPrevious() {}
-
- @Override
- public void onSkipToQueueItem (long id) {}
-
- private long host;
- }
-
- //==============================================================================
- public class SystemVolumeObserver extends ContentObserver
- {
- private native void mediaSessionSystemVolumeChanged (long host);
-
- SystemVolumeObserver (Activity activityToUse, long hostToUse)
- {
- super (null);
-
- activity = activityToUse;
- host = hostToUse;
- }
-
- void setEnabled (boolean shouldBeEnabled)
- {
- if (shouldBeEnabled)
- activity.getApplicationContext().getContentResolver().registerContentObserver (android.provider.Settings.System.CONTENT_URI, true, this);
- else
- activity.getApplicationContext().getContentResolver().unregisterContentObserver (this);
- }
-
- @Override
- public void onChange (boolean selfChange, Uri uri)
- {
- if (uri.toString().startsWith ("content://settings/system/volume_music"))
- mediaSessionSystemVolumeChanged (host);
- }
-
- private Activity activity;
- private long host;
- }
-
- VideoApi21$$
|