daily pastebin goal
41%
SHARE
TWEET

Sprachassistent

Crafteo03 Jan 29th, 2018 49 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.Speech.Recognition;
  11. using System.Speech.Synthesis;
  12. using System.Diagnostics;
  13. using Newtonsoft.Json;
  14. using System.Net;
  15. using System.IO;
  16. using OpenWeatherMap;
  17.  
  18. namespace WindowsFormsApplication6
  19. {
  20.     public partial class Form1 : Form
  21.     {
  22.         SpeechRecognitionEngine h = new SpeechRecognitionEngine();
  23.         SpeechSynthesizer s = new SpeechSynthesizer();
  24.  
  25.         Boolean hören = true;
  26.  
  27.         public Form1()
  28.         {
  29.             InitializeComponent();
  30.             timer1.Start();
  31.         }
  32.  
  33.         private void Form1_Load(object sender, EventArgs e)
  34.         {
  35.  
  36.             Choices commands = new Choices();
  37.             commands.Add(new string[] { "hallo", "wie geht es dir", "wie spät ist es", "welcher tag ist heute","wer bist du","was bist du",
  38.                 "öffne chrome", "öffne downloads", "was ist youtube","informationen über mein verzeichnis", "welche ordner sind in meinem verzeichnis",
  39.             "öffne Desktop","öffne c","pause", "stop","weiter","reset","aktivieren","deaktivieren","vollbild","zeig dich", "verschwinde","wie ist das wetter","beenden"});
  40.  
  41.             GrammarBuilder gbuilder = new GrammarBuilder();
  42.             gbuilder.Append(commands);
  43.  
  44.             Grammar grammar = new Grammar(gbuilder);
  45.  
  46.             h.LoadGrammar(grammar);
  47.             h.SetInputToDefaultAudioDevice();
  48.             h.SpeechRecognized += recEngine_SpeechReconized;
  49.  
  50.             h.RecognizeAsync(RecognizeMode.Multiple);
  51.             s.SelectVoiceByHints(VoiceGender.Male, VoiceAge.Adult);
  52.             s.SpeakAsync("wie kann ich dir helfen");
  53.  
  54.             lbl_temp.Text = " ";
  55.             lbl_weather.Text = " ";
  56.             this.webBrowser1.Url = new Uri(String.Format("C:\\Users\\Matteo\\Desktop"));
  57.             txt_info.Text = "Befehle:hallo,beenden, wie geht es dir,wie spät ist es,welcher tag ist heute,wer bist du,was bist du,öffne chrome,öffne downloads,was ist youtube,informationen über mein verzeichnis,welche ordner sind in meinem verzeichnis,öffne Desktop,öffne c,aktivieren,deaktivieren,vollbild,zeig dich,verschwinde,wie ist das wetter";
  58.         }
  59.         void recEngine_SpeechReconized(object sender, SpeechRecognizedEventArgs e)
  60.         {
  61.  
  62.             string modus = e.Result.Text;
  63.  
  64.             if(modus == "aktivieren")
  65.             {
  66.                 hören = true;
  67.             }
  68.             if(modus== "deaktivieren")
  69.             {
  70.                 hören = false;
  71.             }
  72.  
  73.             Random r = new Random();
  74.             String[] hallom = new string[6] { "hallo matteo","hallo","tach","moin","na","was geht ab" };
  75.            
  76.             if(hören == true)
  77.             {
  78.                 switch (e.Result.Text)
  79.                 {
  80.                     case "weiter":
  81.                         s.Resume();
  82.                         break;
  83.  
  84.                     case "reset":
  85.                         s.SpeakAsyncCancelAll();
  86.                         this.webBrowser1.Url = new Uri(String.Format("C:\\Users\\Matteo\\Desktop"));
  87.                         txt_info.Text = "Befehle:hallo,beenden, wie geht es dir,wie spät ist es,welcher tag ist heute,wer bist du,was bist du,öffne chrome,öffne downloads,was ist youtube,informationen über mein verzeichnis,welche ordner sind in meinem verzeichnis,öffne Desktop,öffne c,aktivieren,deaktivieren,vollbild,zeig dich,verschwinde,wie ist das wetter";
  88.                         break;
  89.  
  90.                     case "pause":
  91.                         s.Pause();
  92.                         break;
  93.  
  94.                     case "stop":
  95.                         s.SpeakAsyncCancelAll();
  96.                         break;
  97.  
  98.                     case "hallo":
  99.                         say(hallom[r.Next(6)]);
  100.                         break;
  101.  
  102.                     case "wie geht es dir":
  103.                         say("gut und selbst");
  104.                         break;
  105.  
  106.                     case "wie spät ist es":
  107.                         say(DateTime.Now.ToString("HH:mm:ss tt"));
  108.                         break;
  109.  
  110.                     case "welcher tag ist heute":
  111.                         say(DateTime.Now.ToString("d"));
  112.                         break;
  113.  
  114.                     case "wer bist du":
  115.                         say("ich bin m l");
  116.                         break;
  117.  
  118.                     case "was bist du":
  119.                         say("ich strebe es an ein intelligenter computer zu werden");
  120.                         break;
  121.  
  122.                     case "öffne chrome":
  123.                         say("okay meister");
  124.                         Process.Start(@"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe");
  125.                         break;
  126.  
  127.                     case "öffne Desktop":
  128.                         say("okay meister");
  129.                         this.webBrowser1.Url = new Uri(String.Format("C:\\Users\\Matteo\\Desktop"));
  130.                         break;
  131.  
  132.                     case "öffne c":
  133.                         say("okay meister");
  134.                         this.webBrowser1.Url = new Uri(String.Format("C:\\"));
  135.                         break;
  136.  
  137.                     case "öffne Downloads":
  138.                         say("okay meister");
  139.                         this.webBrowser1.Url = new Uri(String.Format("C:\\Users\\Matteo\\Downloads"));
  140.                         break;
  141.                     case "beenden":
  142.                         Application.Exit();
  143.                         break;
  144.  
  145.                     case "informationen über mein verzeichnis":
  146.                         string pfad = Convert.ToString(webBrowser1.Url);
  147.                         pfad = pfad.Substring(8);
  148.  
  149.                         var anzahlordner = Directory.GetDirectories(pfad).Length;
  150.                         var anzahldaten = Directory.GetFiles(pfad).Length;
  151.  
  152.                         s.SpeakAsync("In dem momentan ausgewähltem verzeichnis" + webBrowser1.DocumentTitle +
  153.                         "befinden sich" + anzahlordner + "ordner und" + anzahldaten + "dateien");
  154.                         break;
  155.  
  156.                     case "vollbild":
  157.                         this.WindowState = FormWindowState.Maximized;
  158.                         s.SpeakAsync(
  159.                         "Da bin ich, ich bin groß");
  160.                        
  161.                         break;
  162.  
  163.                     case "verschwinde":
  164.                         this.WindowState = FormWindowState.Minimized;
  165.                         s.SpeakAsync(
  166.                         "ok du willst mich wohl nichtmehr sehen");
  167.                        
  168.                         break;
  169.  
  170.                     case "zeig dich":
  171.                         this.WindowState = FormWindowState.Normal;
  172.                         s.SpeakAsync(
  173.                         "hier bin ich wieder");
  174.                        
  175.                         break;
  176.  
  177.                     case "wie ist das wetter":
  178.                         GetWeather();
  179.                         break;
  180.  
  181.                     case "welche ordner sind in meinem verzeichnis":
  182.                         txt_info.Text = " ";
  183.                         string pfad2 = Convert.ToString(webBrowser1.Url);
  184.                         pfad = pfad2.Substring(8);
  185.  
  186.                         string[] ordnernamen = Directory.GetDirectories(pfad);
  187.  
  188.                         foreach (string name in ordnernamen)
  189.                         {
  190.                             FileInfo f = new FileInfo(name);
  191.  
  192.                             txt_info.AppendText(f.Name + "\n");
  193.                         }
  194.  
  195.                         s.SpeakAsync("In deinem verzeichnis existieren folgende ordner" + txt_info.Text);
  196.  
  197.                         break;
  198.  
  199.                     case "was ist youtube":
  200.                         txt_info.Text = " ";
  201.                         say("ich suche mal schnell hmmmm");
  202.                         this.webBrowser1.Url = new Uri(String.Format("https://upload.wikimedia.org/wikipedia/commons/b/b8/YouTube_Logo_2017.svg"));
  203.                         WebClient client = new WebClient();
  204.                         using (Stream stream = client.OpenRead("https://de.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&explaintext=1&titles=YouTube"))
  205.                         using (StreamReader reader = new StreamReader(stream))
  206.                         {
  207.                             JsonSerializer ser = new JsonSerializer();
  208.                             Result result = ser.Deserialize<Result>(new JsonTextReader(reader));
  209.  
  210.                             foreach (Page page in result.query.pages.Values)
  211.  
  212.                                 txt_info.Text = page.extract;
  213.                             say(txt_info.Text);
  214.                         }
  215.                         break;
  216.                 }
  217.             }
  218.         }
  219.  
  220.         private void ML_Click(object sender, EventArgs e)
  221.         {
  222.  
  223.         }
  224.  
  225.         private void timer1_Tick(object sender, EventArgs e)
  226.         {
  227.             lbl_time.Text = DateTime.Now.ToLongTimeString();
  228.             lbl_date.Text = DateTime.Now.ToLongDateString();
  229.         }
  230.         public void say(string h)
  231.             {
  232.  
  233.             s.SpeakAsync(h);
  234.  
  235.         }
  236.  
  237.         async void GetWeather()
  238.         {
  239.             var client = new OpenWeatherMapClient ("d3239587ba84c8f865843ce3345f8e46");
  240.             var currentWeather = await client.CurrentWeather.GetByName("Halle");
  241.  
  242.             int Temperatur = Convert.ToInt32(currentWeather.Temperature.Value- 273.15);
  243.  
  244.             s.SpeakAsync("der himmel ist:" + currentWeather.Weather.Value);
  245.          
  246.             lbl_weather.Text = currentWeather.Weather.Value;
  247.             s.SpeakAsync("und die aktuelle Temperatur beträgt:" + Temperatur + "Grad Celsius");
  248.             lbl_temp.Text = Temperatur + " Grad Celsius";
  249.         }
  250.  
  251.         public class Result
  252.         {
  253.             public Query query { get; set; }
  254.         }
  255.  
  256.         public class Query
  257.         {
  258.             public Dictionary<string, Page> pages { get; set; }
  259.         }
  260.  
  261.         public class Page
  262.         {
  263.             public string extract { get; set; }
  264.         }
  265.  
  266.         private void label1_Click(object sender, EventArgs e)
  267.         {
  268.  
  269.         }
  270.  
  271.         private void lbl_weather_Click(object sender, EventArgs e)
  272.         {
  273.  
  274.         }
  275.     }
  276. }
RAW Paste Data
Pastebin PRO WINTER Special!
Get 40% OFF Pastebin PRO accounts!
Top