Java Code Examples for android.media.RemoteControlClient#setTransportControlFlags()

The following examples show how to use android.media.RemoteControlClient#setTransportControlFlags() . 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: PlayerService.java    From IdealMedia with Apache License 2.0 6 votes vote down vote up
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
void registerRemoteControl(ComponentName rcvMedia) {
    mAudioManager.requestAudioFocus(this, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);
    Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
    mediaButtonIntent.setComponent(rcvMedia);
    PendingIntent mediaPendingIntent = PendingIntent.getBroadcast(getApplicationContext(),
            0, mediaButtonIntent, 0);
    remoteControlClient = new RemoteControlClient(mediaPendingIntent);

    remoteControlClient.setTransportControlFlags(
            RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE |
                    RemoteControlClient.FLAG_KEY_MEDIA_NEXT |
                    RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS
    );
    mAudioManager.registerRemoteControlClient(remoteControlClient);
}
 
Example 2
Source File: PlaybackService.java    From VCL-Android with Apache License 2.0 6 votes vote down vote up
/**
 * Set up the remote control and tell the system we want to be the default receiver for the MEDIA buttons
 */
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public void changeRemoteControlClient(AudioManager am, boolean acquire) {
    if (acquire) {
        Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
        mediaButtonIntent.setComponent(mRemoteControlClientReceiverComponent);
        PendingIntent mediaPendingIntent = PendingIntent.getBroadcast(this, 0, mediaButtonIntent, 0);

        // create and register the remote control client
        mRemoteControlClient = new RemoteControlClient(mediaPendingIntent);
        am.registerRemoteControlClient(mRemoteControlClient);

        mRemoteControlClient.setTransportControlFlags(
                RemoteControlClient.FLAG_KEY_MEDIA_PLAY |
                        RemoteControlClient.FLAG_KEY_MEDIA_PAUSE |
                        RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS |
                        RemoteControlClient.FLAG_KEY_MEDIA_NEXT |
                        RemoteControlClient.FLAG_KEY_MEDIA_STOP);
    } else {
        am.unregisterRemoteControlClient(mRemoteControlClient);
        mRemoteControlClient = null;
    }
}
 
Example 3
Source File: RemoteControlClientICS.java    From Popeens-DSub with GNU General Public License v3.0 6 votes vote down vote up
public void register(final Context context, final ComponentName mediaButtonReceiverComponent) {
	downloadService = (DownloadService) context;
	AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);

	// build the PendingIntent for the remote control client
	Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
	mediaButtonIntent.setComponent(mediaButtonReceiverComponent);
	PendingIntent mediaPendingIntent = PendingIntent.getBroadcast(context.getApplicationContext(), 0, mediaButtonIntent, 0);

	// create and register the remote control client
	mRemoteControl = new RemoteControlClient(mediaPendingIntent);
	audioManager.registerRemoteControlClient(mRemoteControl);

	mRemoteControl.setPlaybackState(RemoteControlClient.PLAYSTATE_STOPPED);
	mRemoteControl.setTransportControlFlags(getTransportFlags());
	imageLoader = SubsonicActivity.getStaticImageLoader(context);
}
 
Example 4
Source File: PlaybackService.java    From AntennaPodSP with MIT License 6 votes vote down vote up
@SuppressLint("NewApi")
private RemoteControlClient setupRemoteControlClient() {
    if (Build.VERSION.SDK_INT < 14) {
        return null;
    }

    Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
    mediaButtonIntent.setComponent(new ComponentName(getPackageName(),
            MediaButtonReceiver.class.getName()));
    PendingIntent mediaPendingIntent = PendingIntent.getBroadcast(
            getApplicationContext(), 0, mediaButtonIntent, 0);
    remoteControlClient = new RemoteControlClient(mediaPendingIntent);
    int controlFlags;
    if (android.os.Build.VERSION.SDK_INT < 16) {
        controlFlags = RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE
                | RemoteControlClient.FLAG_KEY_MEDIA_NEXT;
    } else {
        controlFlags = RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE;
    }
    remoteControlClient.setTransportControlFlags(controlFlags);
    return remoteControlClient;
}
 
Example 5
Source File: SampleMediaRouterActivity.java    From V.FlyoutTest with MIT License 6 votes vote down vote up
private void registerRCC() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        // Create the RCC and register with AudioManager and MediaRouter
        mAudioManager.requestAudioFocus(mAfChangeListener,
                AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);
        mAudioManager.registerMediaButtonEventReceiver(mEventReceiver);
        mRemoteControlClient = new RemoteControlClient(mMediaPendingIntent);
        mAudioManager.registerRemoteControlClient(mRemoteControlClient);
        mMediaRouter.addRemoteControlClient(mRemoteControlClient);
        SampleMediaButtonReceiver.setActivity(SampleMediaRouterActivity.this);
        mRemoteControlClient.setTransportControlFlags(
                RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE);
        mRemoteControlClient.setPlaybackState(
                RemoteControlClient.PLAYSTATE_PLAYING);
    }
}
 
Example 6
Source File: ServicePlayer.java    From freemp with Apache License 2.0 6 votes vote down vote up
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
void registerRemoteControl(ComponentName rcvMedia) {
    mAudioManager.requestAudioFocus(this, AudioManager.STREAM_MUSIC,
            AudioManager.AUDIOFOCUS_GAIN);
    Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
    mediaButtonIntent.setComponent(rcvMedia);
    PendingIntent mediaPendingIntent = PendingIntent.getBroadcast(getApplicationContext(),
            0, mediaButtonIntent, 0);
    remoteControlClient = new RemoteControlClient(mediaPendingIntent);

    remoteControlClient.setTransportControlFlags(
            RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE |
                    RemoteControlClient.FLAG_KEY_MEDIA_NEXT |
                    RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS
    );
    mAudioManager.registerRemoteControlClient(remoteControlClient);
}
 
Example 7
Source File: AvrcpService.java    From Botifier with BSD 2-Clause "Simplified" License 6 votes vote down vote up
private void setUpRemoteControlClient() {
    mMediaButtonReceiverComponent = new ComponentName(getPackageName(), MediaButtonIntentReceiver.class.getName());
	mAudioManager.registerMediaButtonEventReceiver(mMediaButtonReceiverComponent);
    final Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
    mediaButtonIntent.setComponent(mMediaButtonReceiverComponent);
    mRemoteControlClient = new RemoteControlClient(
            PendingIntent.getBroadcast(getApplicationContext(), 0, mediaButtonIntent,
                    PendingIntent.FLAG_UPDATE_CURRENT));
    mAudioManager.registerRemoteControlClient(mRemoteControlClient);

    // Flags for the media transport control that this client supports.
    final int flags = RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS
            | RemoteControlClient.FLAG_KEY_MEDIA_NEXT
            | RemoteControlClient.FLAG_KEY_MEDIA_PLAY
            | RemoteControlClient.FLAG_KEY_MEDIA_PAUSE
            | RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE
            | RemoteControlClient.FLAG_KEY_MEDIA_STOP;
    mRemoteControlClient.setTransportControlFlags(flags);
    mAudiofocus = mAudioManager.requestAudioFocus(mAudioFocusListener,
            AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK);

}
 
Example 8
Source File: MainActivity.java    From media-samples with Apache License 2.0 5 votes vote down vote up
private void registerRemoteControlClient() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        // Create the RCC and register with AudioManager and MediaRouter
        mAudioManager.requestAudioFocus(mAfChangeListener, AudioManager.STREAM_MUSIC,
                AudioManager.AUDIOFOCUS_GAIN);
        mAudioManager.registerMediaButtonEventReceiver(mEventReceiver);
        mRemoteControlClient = new RemoteControlClient(mMediaPendingIntent);
        mAudioManager.registerRemoteControlClient(mRemoteControlClient);
        mMediaRouter.addRemoteControlClient(mRemoteControlClient);
        SampleMediaButtonReceiver.setActivity(MainActivity.this);
        mRemoteControlClient.setTransportControlFlags(RemoteControlClient
                .FLAG_KEY_MEDIA_PLAY_PAUSE);
        mRemoteControlClient.setPlaybackState(RemoteControlClient.PLAYSTATE_PLAYING);
    }
}
 
Example 9
Source File: MainActivity.java    From android-MediaRouter with Apache License 2.0 5 votes vote down vote up
private void registerRemoteControlClient() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        // Create the RCC and register with AudioManager and MediaRouter
        mAudioManager.requestAudioFocus(mAfChangeListener, AudioManager.STREAM_MUSIC,
                AudioManager.AUDIOFOCUS_GAIN);
        mAudioManager.registerMediaButtonEventReceiver(mEventReceiver);
        mRemoteControlClient = new RemoteControlClient(mMediaPendingIntent);
        mAudioManager.registerRemoteControlClient(mRemoteControlClient);
        mMediaRouter.addRemoteControlClient(mRemoteControlClient);
        SampleMediaButtonReceiver.setActivity(MainActivity.this);
        mRemoteControlClient.setTransportControlFlags(RemoteControlClient
                .FLAG_KEY_MEDIA_PLAY_PAUSE);
        mRemoteControlClient.setPlaybackState(RemoteControlClient.PLAYSTATE_PLAYING);
    }
}
 
Example 10
Source File: ApolloService.java    From mobile-manager-tool with MIT License 4 votes vote down vote up
@SuppressLint({ "WorldWriteableFiles", "WorldReadableFiles" })
@Override
   public void onCreate() {
       super.onCreate();

       mAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
       ComponentName rec = new ComponentName(getPackageName(),
               MediaButtonIntentReceiver.class.getName());
       mAudioManager.registerMediaButtonEventReceiver(rec);

       Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
       mediaButtonIntent.setComponent(rec);
       PendingIntent mediaPendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0,
               mediaButtonIntent, PendingIntent.FLAG_UPDATE_CURRENT);

       mRemoteControlClient = new RemoteControlClient(mediaPendingIntent);
       mAudioManager.registerRemoteControlClient(mRemoteControlClient);

       int flags = RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS
               | RemoteControlClient.FLAG_KEY_MEDIA_NEXT | RemoteControlClient.FLAG_KEY_MEDIA_PLAY
               | RemoteControlClient.FLAG_KEY_MEDIA_PAUSE
               | RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE
               | RemoteControlClient.FLAG_KEY_MEDIA_STOP;
       mRemoteControlClient.setTransportControlFlags(flags);

       mPreferences = getSharedPreferences(APOLLO_PREFERENCES, MODE_WORLD_READABLE
               | MODE_WORLD_WRITEABLE);
       mCardId = MusicUtils.getCardId(this);

       registerExternalStorageListener();

       // Needs to be done in this thread, since otherwise
       // ApplicationContext.getPowerManager() crashes.
       mPlayer = new MultiPlayer();
       mPlayer.setHandler(mMediaplayerHandler);

       reloadQueue();
       notifyChange(QUEUE_CHANGED);
       notifyChange(META_CHANGED);

       IntentFilter commandFilter = new IntentFilter();
       commandFilter.addAction(SERVICECMD);
       commandFilter.addAction(TOGGLEPAUSE_ACTION);
       commandFilter.addAction(PAUSE_ACTION);
       commandFilter.addAction(NEXT_ACTION);
       commandFilter.addAction(PREVIOUS_ACTION);
       commandFilter.addAction(CYCLEREPEAT_ACTION);
       commandFilter.addAction(TOGGLESHUFFLE_ACTION);
       registerReceiver(mIntentReceiver, commandFilter);

       PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);

       mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getName());

       mWakeLock.setReferenceCounted(false);

       // If the service was idle, but got killed before it stopped itself, the
       // system will relaunch it. Make sure it gets stopped again in that
       // case.
       Message msg = mDelayedStopHandler.obtainMessage();
       mDelayedStopHandler.sendMessageDelayed(msg, IDLE_DELAY);
   }