C# Sesli Komut ile Renk Değiştirme
C# Sesli Komut ile Renk Değiştirme
Daha fazlası için: gorselprogramlama.com
Bu uygulamanın tam halini görmek için iletişime geçebilirsiniz.(Programcı’nın Mail Adresi)
Programımızın çalışma prensibi şu şekildedir: Bağlı mikrofonumuza “Red”,”Green”,”Blue”,”Yellow” gibi renklerin ismini söyledikten sonra Form1’imizin arkaplan renginin değişeceğini göreceğiz.
Projemize başlamadan önce “Visual Studio”da açtığımız projede “proje” sekmesine geliyoruz. “Başvuru Ekle” dedikten sonra, ekrana gelen “Başvuru Yöneticisi”nden “System.Speech” referansını ekliyoruz. Ardından Form1’imizin içine gelerek en üstte şunları ekliyoruz:
using System.Speech.Recognition; using System.Speech.Synthesis; using System.Threading; using System.Diagnostics;
Form1 arayüzümüze bir adet button ekliyoruz.
Şimdi Buton’a tıklandıktan sonra olacakları yazalım.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Speech.Recognition; using System.Speech.Synthesis; using System.Threading; using System.Diagnostics; namespace seskaydi { public partial class seskaydi : Form { public seskaydi() { InitializeComponent(); } PromptBuilder pbuilder = new PromptBuilder();//Hızlı okuyucu tanımladık. SpeechSynthesizer synt = new SpeechSynthesizer();//Konuşma Sentezleyici Oluşturduk private void seskaydi_Load(object sender, EventArgs e) { } private void ses_Duyuldu(object sender, SpeechRecognizedEventArgs e) { string soylenen = e.Result.Text;//soylenen metne, konuşulan metni attık if(soylenen=="Red")//Eğer kırmızı ise { pbuilder.ClearContent(); pbuilder.AppendText("İt is Red!");//Diye bir cümle oluşturduk synt.Speak(pbuilder);//Bilgisayar tarafından bu cümle seslendirilecek. this.BackColor = Color.Red;//Arkaplan kırmızı olsun } else if(soylenen=="Yellow")//Eğer sarı ise { pbuilder.ClearContent(); pbuilder.AppendText("İt is Yellow");//Diye bir cümle oluşturduk synt.Speak(pbuilder);//bigisayar tarafından bu <a href="http://www.gorselprogramlama.com/wp-content/uploads/2019/04/ezgif-1-e7a30f3d4351.gif"><img class="aligncenter size-medium wp-image-20576" src="http://www.gorselprogramlama.com/wp-content/uploads/2019/04/ezgif-1-e7a30f3d4351-300x275.gif" alt="ezgif-1-e7a30f3d4351" width="300" height="275" /></a> cümle seslendirilecek. this.BackColor = Color.Yellow;//Arkaplan sari olsun. } else if(soylenen=="Green")//Eğer yeşil ise { pbuilder.ClearContent(); pbuilder.AppendText("İt is Green");//Diye bir cümle oluşturduk synt.Speak(pbuilder);//Bilgisayar tarafından bu cümle seslendirilecek. this.BackColor = Color.Green;//arkaplan yeşil olsun. } else if(soylenen=="Blue")//Eğer mavi ise { pbuilder.ClearContent(); pbuilder.AppendText("İt is Blue");//Diye bir cümle oluşturduk synt.Speak(pbuilder);//Bilgisayar tarafından bu cümle seslendirilecek. this.BackColor = Color.Blue;//Arkaplan mavi olsun. } else if(soylenen=="Exit Application")//eğer bu cümle kullanılırsa { pbuilder.ClearContent(); pbuilder.AppendText("Thanks for Using, my User");//diye bir cümle oluşturduk. synt.Speak(pbuilder);//Bilgisayar tarafından bu cümle seslendirilecek. Application.Exit();//Uygulama kapatılsın. } } private void button1_Click(object sender, EventArgs e) { SpeechRecognitionEngine algilamaMotoru = new SpeechRecognitionEngine();/*algilamaMotoru adında Konuşma tanıma motoru tanımladık*/ algilamaMotoru.SetInputToDefaultAudioDevice();//Otomatik seçilen mikrofonumuza attık. Choices sesGrubu = new Choices("Red", "Green", "Blue", "Yellow","Exit Application");/* Ses grubu tanımladık. Renkleri buradan seçeceğiz*/ GrammarBuilder gramerYapilandirici = new GrammarBuilder(sesGrubu);/*Grammer yapılandırıcı ekledik.*/ gramerYapilandirici.Culture = System.Globalization.CultureInfo.GetCultureInfoByIetfLanguageTag("en-US"); /*Hangi dilde tanımlaması gerektiğini belirttik. "Amerikan İngilizcesi"*/ Grammar gramer = new Grammar(gramerYapilandirici);//Grameri tanımladık. algilamaMotoru.LoadGrammar(gramer);//algilamamotorunun gramerini oluşturduk. algilamaMotoru.SpeechRecognized += ses_Duyuldu;//Konuşma tanımlandıkça ses_Duyuldu metotu çalışsın. algilamaMotoru.RecognizeAsync(RecognizeMode.Multiple);//Çoklu ses tipinde çalışsın. } } } /*By Abdurrahman ONDER abdurrahman.onder@ogr.sakarya.edu.tr*/
Projeyi İndirmek İçin Tıklayınız