Java Code Examples for android.media.RemoteControlClient#FLAG_KEY_MEDIA_PLAY_PAUSE

The following examples show how to use android.media.RemoteControlClient#FLAG_KEY_MEDIA_PLAY_PAUSE . 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: 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 2
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 3
Source File: RemoteControlClientICS.java    From Popeens-DSub with GNU General Public License v3.0 5 votes vote down vote up
protected int getTransportFlags() {
	return RemoteControlClient.FLAG_KEY_MEDIA_PLAY | 
		RemoteControlClient.FLAG_KEY_MEDIA_PAUSE | 
		RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE |
		RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS |
		RemoteControlClient.FLAG_KEY_MEDIA_NEXT |
		RemoteControlClient.FLAG_KEY_MEDIA_STOP;
}
 
Example 4
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);
   }
 
Example 5
Source File: DownloadServiceLifecycleSupport.java    From Popeens-DSub with GNU General Public License v3.0 4 votes vote down vote up
public void handleKeyEvent(KeyEvent event) {
	if(event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() > 0) {
		switch (event.getKeyCode()) {
			case RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS:
			case KeyEvent.KEYCODE_MEDIA_PREVIOUS:
				downloadService.fastForward();
				break;
			case RemoteControlClient.FLAG_KEY_MEDIA_NEXT:
			case KeyEvent.KEYCODE_MEDIA_NEXT:
				downloadService.rewind();
				break;
		}
	} else if(event.getAction() == KeyEvent.ACTION_UP) {
		switch (event.getKeyCode()) {
			case RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE:
				downloadService.togglePlayPause();
				break;
			case KeyEvent.KEYCODE_HEADSETHOOK:
			case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
				if(lastPressTime < (System.currentTimeMillis() - 500)) {
					lastPressTime = System.currentTimeMillis();
					downloadService.togglePlayPause();
				} else {
					downloadService.next(false, true);
				}
				break;
			case RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS:
			case KeyEvent.KEYCODE_MEDIA_PREVIOUS:
				if(lastPressTime < (System.currentTimeMillis() - DEBOUNCE_TIME)) {
					lastPressTime = System.currentTimeMillis();
					downloadService.previous();
				}
				break;
			case RemoteControlClient.FLAG_KEY_MEDIA_NEXT:
			case KeyEvent.KEYCODE_MEDIA_NEXT:
				if(lastPressTime < (System.currentTimeMillis() - DEBOUNCE_TIME)) {
					lastPressTime = System.currentTimeMillis();
					downloadService.next();
				}
				break;
			case KeyEvent.KEYCODE_MEDIA_REWIND:
				downloadService.rewind();
				break;
			case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
				downloadService.fastForward();
				break;
			case RemoteControlClient.FLAG_KEY_MEDIA_STOP:
			case KeyEvent.KEYCODE_MEDIA_STOP:
				downloadService.stop();
				break;
			case RemoteControlClient.FLAG_KEY_MEDIA_PLAY:
			case KeyEvent.KEYCODE_MEDIA_PLAY:
				if(downloadService.getPlayerState() != PlayerState.STARTED) {
					downloadService.start();
				}
				break;
			case RemoteControlClient.FLAG_KEY_MEDIA_PAUSE:
			case KeyEvent.KEYCODE_MEDIA_PAUSE:
				downloadService.pause();
			default:
				break;
		}
	}
}