/// <summary> /// Will register for the remote control client commands in audio manager /// </summary> private void RegisterRemoteClient() { try{ if(remoteControlClient == null) { audioManager.RegisterMediaButtonEventReceiver(remoteComponentName); //Create a new pending intent that we want triggered by remote control client var mediaButtonIntent = new Intent(Intent.ActionMediaButton); mediaButtonIntent.SetComponent(remoteComponentName); // Create new pending intent for the intent var mediaPendingIntent = PendingIntent.GetBroadcast(this, 0, mediaButtonIntent, 0); // Create and register the remote control client remoteControlClient = new RemoteControlClient(mediaPendingIntent); audioManager.RegisterRemoteControlClient(remoteControlClient); } //add transport control flags we can to handle remoteControlClient.SetTransportControlFlags(RemoteControlFlags.Play | RemoteControlFlags.Pause | RemoteControlFlags.PlayPause | RemoteControlFlags.Stop | RemoteControlFlags.Previous | RemoteControlFlags.Next); }catch(Exception ex){ Console.WriteLine (ex); } }
/// <summary> /// Unregisters the remote client from the audio manger /// </summary> private void UnregisterRemoteClient() { try{ audioManager.UnregisterMediaButtonEventReceiver (remoteComponentName); audioManager.UnregisterRemoteControlClient (remoteControlClient); remoteControlClient.Dispose(); remoteControlClient = null; }catch(Exception ex){ Console.WriteLine (ex); } }