C# Ses ile Komut Kullanımı
C# Ses ile Komut Kullanımı
C# İle projelerinizde sesli komut özelliğinden faydalanabilirsiniz.Daha açıklayıcı olmak gerekir ise C# ile yazı yazmadan ses ile programınızın çalışmasını ve özelliklerini yerine getirmesini sağlayabilirsiniz.
Gelelim bunu nasıl yapacağımıza. Aşağıda yazanları sırası ile yapmanız gerekiyor.
Kütüphaneyi Kullanmak
Menüden "Proje > Başvuru Ekle > FrameWork " yolunu izleyin ve "System.Speech" kütüphanesini projenize ekleyin. Ardından aşağıdaki kodu yazın.using System.Speech.Recognition;
Nesne Tanımlaması ve Ayarlar
Kullanacağımız nesneleri tanımlayacağız ve form_load gibi olayların olmasını sağlayacağız.SpeechRecognitionEngine speechEngine = new SpeechRecognitionEngine();
private void Form1_Load(object sender, System.EventArgs e)
{
// varsayılan ses alıcı aygıtını kullan
speechEngine.SetInputToDefaultAudioDevice();
// algılanacak kelime gurubunu belirle
Choices choises = new Choices("yes", "no");
// tanımladığımız kelimeleri gramer haline getirelim
GrammarBuilder grammarBuilder = new GrammarBuilder(choises);
// yeni bir grammar nesnesi oluştur
Grammar grammar = new Grammar(grammarBuilder);
// oluşturulan grameri speechEngine nesnesine yükle
speechEngine.LoadGrammar(grammar);
// belirlenen kelimelerden biri algılandığında
speechEngine.SpeechRecognized += speechEngine_Event;
// speechEngine nesnesi kelimeleri asenkron ve çoklu olarak algılasın
speechEngine.RecognizeAsync(RecognizeMode.Multiple);
}Sesin Algılanması
Yazdığımız projede kullanıcının sesinin algılanması ve ses ile işlem yapılması olayı.void speechEngine_Event(object sender, SpeechRecognizedEventArgs e)
{
// algılanan kelimeler içinde
foreach (RecognizedWordUnit words in e.Result.Words)
{
// kelimeye göre işlem
if (words.Text.Equals("yes"))
{
MessageBox.Show("Evet!");
}
else if (words.Text.Equals("no"))
{
MessageBox.Show("Hayır!");
}
else
{
MessageBox.Show("Söylenilen sözcük algılanamadı!");
}
}
}Hatalar ve Çözümleri
No recognizer installed ya da tanımlı olmayan dil gibi bir hata alırsanız sisteminizin dili türkçe olmasından ve ingilizce dil paketlerinin yüklü olmamasından kaynaklıdır.İşletim sisteminizin dilini İngilizce yaparak bu hatalardan kurtulabilirsiniz.


Yorum Gönder