in MediaRouter/Application/src/main/java/com/example/android/mediarouter/player/MainActivity.java [417:457]
public boolean handleMediaKey(KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) {
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE: {
Log.d(TAG, "Received Play/Pause event from RemoteControlClient");
mPaused = !mPaused;
if (mPaused) {
mSessionManager.pause();
} else {
mSessionManager.resume();
}
return true;
}
case KeyEvent.KEYCODE_MEDIA_PLAY: {
Log.d(TAG, "Received Play event from RemoteControlClient");
if (mPaused) {
mPaused = false;
mSessionManager.resume();
}
return true;
}
case KeyEvent.KEYCODE_MEDIA_PAUSE: {
Log.d(TAG, "Received Pause event from RemoteControlClient");
if (!mPaused) {
mPaused = true;
mSessionManager.pause();
}
return true;
}
case KeyEvent.KEYCODE_MEDIA_STOP: {
Log.d(TAG, "Received Stop event from RemoteControlClient");
mPaused = false;
mSessionManager.stop();
return true;
}
default:
break;
}
}
return false;
}