Guest User

Untitled

a guest
Oct 20th, 2017
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.01 KB | None | 0 0
  1. private void ConectaActiva()
  2. {
  3. if (KinectSensor.KinectSensors.Count > 0)
  4. {
  5. if (_sensor == null)
  6. {
  7. _sensor = KinectSensor.KinectSensors[0];
  8. if (_sensor != null)
  9. {
  10. try
  11. {
  12. _sensor.Start();
  13. _sensor.ElevationAngle = 3;
  14. statusK.Text = "Kinect conetado";
  15. }
  16. catch (Exception ex)
  17. {
  18. statusK.Text = ex.Message.ToString();
  19. }
  20.  
  21. RecognizerInfo recInf = ObtenerLenguagePack();
  22. if (recInf != null)
  23. {
  24. speechengine = new SpeechRecognitionEngine(recInf.Id);
  25. //Creamos esta variable opciones la cual almacenara las opciones de palabras o frases
  26. //que podran ser reconocidas por el dispositivo
  27. var opciones = new Choices();
  28. opciones.Add("uno", "UNO");
  29. opciones.Add("unidad", "UNO");
  30. opciones.Add("dos", "DOS");
  31. opciones.Add(new SemanticResultValue("windows ocho", "TRES"));
  32. opciones.Add(new SemanticResultValue("nuevo windows", "TRES"));
  33.  
  34. //Esta variable creará todo el conjunto de frases y palabras
  35. //en base a nuestro lenguaje elegido en la variable recInf
  36. var grammarb = new GrammarBuilder { Culture = recInf.Culture };
  37.  
  38. //Agregamos las opciones de palabras y frases a grammarb
  39. grammarb.Append(opciones);
  40.  
  41. //Creamos una variable de tipo Grammar utilizando como parametro a grammarb
  42. var grammar = new Grammar(grammarb);
  43. //Le decimos a nuestra variable speechengine que cargue a grammar
  44. speechengine.LoadGrammar(grammar);
  45. //mandamos llamar al evento SpeechRecognized el cual se ejecutara cada vez que una palabra sea detectada
  46. speechengine.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(speechengine_SpeechRecognized);
  47. //speechengine inicia la entrada de datos de tipo audio
  48. speechengine.SetInputToAudioStream(_sensor.AudioSource.Start(), new SpeechAudioFormatInfo(EncodingFormat.Pcm, 16000, 16, 1, 32000, 2, null));
  49. speechengine.RecognizeAsync(RecognizeMode.Multiple);
  50. }
  51. }
  52. }
  53. }
  54. else
  55. statusK.Text = "Kinect desconectado";
  56. }
  57.  
  58. private void speechengine_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
  59. {
  60. const double igualdad = 0.5;
  61.  
  62. //Si hay mas del 50% de igualdad con alguna de nuestras opciones
  63. if (e.Result.Confidence > igualdad)
  64. {
  65. Uri src;
  66. BitmapImage img;
  67. switch(e.Result.Words[0].Text)
  68. {
  69. case "UNO":
  70. mensaje.Text = "Todo es mas fácil con Hotmail. Organiza tu bandeja, usa limpiar para mover o eliminar tus correos automaticamente";
  71. mensaje.Background = new SolidColorBrush(Color.FromRgb(247, 126, 5));
  72. src = new Uri(@"/Images/1.png", UriKind.Relative);
  73. img = new BitmapImage(src);
  74. imagen.Source = img;
  75. break;
  76. case "DOS":
  77. mensaje.Text = "Solo Windows Phone cuenta con un hub de contactos con acceso directo a Facebook, Twitter y Linkedln para que siempre estés al día.";
  78. mensaje.Background = new SolidColorBrush(Color.FromRgb(255, 0, 0));
  79. src = new Uri(@"/Images/2.jpg", UriKind.Relative);
  80. img = new BitmapImage(src);
  81. imagen.Source = img;
  82. break;
  83. default:
  84.  
  85. //En caso de que no solo contenga una palabra tambien realizaremos un switch para ver si la frase corresponde a alguna de nuestros valores de opcion
  86. **switch (e.Result.Semantics.Value.ToString())** //Da error.
  87. {
  88. case "TRES":
  89. mensaje.Text = "Windows 8 reimaginado y renovado. La nueva interfaz metro es sencilla e intuitiva. ";
  90. mensaje.Background = new SolidColorBrush(Color.FromRgb(5, 134, 247));
  91. src = new Uri(@"/Images/3.jpg", UriKind.Relative);
  92. img = new BitmapImage(src);
  93. imagen.Source = img;
  94. break;
  95. default:
  96. mensaje.Text = "No se reconocio el comando";
  97. break;
  98. }
  99.  
  100. break;
  101. }
  102. }
  103. }
Add Comment
Please, Sign In to add comment