//dispose of all proxies connected to the Nao
 private void DisposeOfAllProxies()
 {
     if (TextToSpeechProxy != null)
     {
         TextToSpeechProxy.Dispose();
     }
     if (BehaviorManagerProxy != null)
     {
         BehaviorManagerProxy.Dispose();
     }
     if (LedsProxy != null)
     {
         LedsProxy.Dispose();
     }
     if (VideoRecorderProxy != null)
     {
         if (recording)
         {
             VideoRecorderProxy.stopRecording();
         }
         VideoRecorderProxy.Dispose();
     }
     if (MotionProxy != null)
     {
         MotionProxy.Dispose();
     }
     if (AudioProxy != null)
     {
         AudioProxy.Dispose();
     }
 }
 public override void Dispose()
 {
     deviceProxy?.Dispose();
     deviceProxy = null;
 }