private void ShowStatistics() { MediaRouter.RouteInfo route = mMediaRouter.SelectedRoute; Intent intent = MakeStatisticsIntent(); if (route.SupportsControlRequest(intent)) { MediaRouterControlRequestCallback callback = new MediaRouterControlRequestCallback(); callback.OnResultEvent += (data) => { Log.Debug(TAG, "Statistics request succeeded: data=" + data); if (data != null) { int playbackCount = data.GetInt( SampleMediaRouteProvider.DATA_PLAYBACK_COUNT, -1); Toast.MakeText(this, "Total playback count: " + playbackCount, ToastLength.Long).Show(); } else { Toast.MakeText(this, "Statistics query did not return any data", ToastLength.Long).Show(); } }; callback.OnErrorEvent += (error, data) => { Log.Debug(TAG, "Statistics request failed: error=" + error + ", data=" + data); Toast.MakeText(this, "Unable to query statistics, error: " + error, ToastLength.Long).Show(); }; Log.Debug(TAG, "Sent statistics request: intent=" + intent); route.SendControlRequest(intent, callback); } else { Log.Debug(TAG, "Statistics request not supported: intent=" + intent); Toast.MakeText(this, "Statistics not supported.", ToastLength.Long).Show(); } }
private void Play() { var item = CheckedMediaItem; if (item == null) { return; } var route = mMediaRouter.SelectedRoute; var intent = MakePlayIntent(item); if (route.SupportsControlRequest(intent)) { MediaRouterControlRequestCallback callback = new MediaRouterControlRequestCallback(); callback.OnResultEvent += (data) => { string streamId = data != null?data.GetString(MediaControlIntent.ExtraItemId) : null; Log.Debug(TAG, "Play request succeeded: data=" + data + " , streamId=" + streamId); Toast.MakeText(this, "Now playing " + item.mName, ToastLength.Long).Show(); }; callback.OnErrorEvent += (error, data) => { Log.Debug(TAG, "Play request failed: error=" + error + ", data=" + data); Toast.MakeText(this, "Unable to play " + item.mName + ", error: " + error, ToastLength.Long).Show(); }; Log.Debug(TAG, "Sending play request: intent=" + intent); route.SendControlRequest(intent, callback); } else { Log.Debug(TAG, "Play request not supported: intent=" + intent); Toast.MakeText(this, "Play not supported for " + item.mName, ToastLength.Long).Show(); } }