السلام عليكم ورحمة الله وبركاته
اخوتي الاعزاء في اول توجه لي لبرمجة الانظمة الصوتية
بحثت عن عدد من المصادر في الانترنت وبعض من معلوماتي وبمساعدة من بعض الاشخاص والمدونات
استطعت ان اصل الى هذا الكود
لكن بعض الكودات قمت بتركيبها بدون فهم و الحمد لله عملت بشكل صحيح ولكن لم افهم هذه الكودات
وياريت الخبراء في المنتدى يقدرون يساعدوني على فهم الكود لأني ماحب اعمل بدون ما افهم وايضاً يساعدني الفهم على التعديل والاضافة بسهولة
وهذا الكود هو لبرنامج بسيط يقوم بأخذ الاوامر الصوتية وتنفيذ بعض الايعازات
اتمنى ان تشرحولي الكود الذي حصلت عليه
Option Strict On
Imports System.Speech
Imports System.Speech.Recognition
Imports System.Speech.Recognition.SrgsGrammar
Public Class Form1
Dim WithEvents reco As New SpeechRecognitionEngine
Dim synth As New Synthesis.SpeechSynthesizer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
Dim gram As New SrgsDocument
Dim colorRule As New SrgsRule("color")
Dim colorsList As New SrgsOneOf("red", "green")
colorRule.Add(colorsList)
gram.Rules.Add(colorRule)
gram.Root = colorRule
reco.LoadGrammarAsync(New Recognition.Grammar(gram))
reco.SetInputToDefaultAudioDevice()
reco.RecognizeAsync(RecognizeMode.Multiple)
Catch s As Exception
MessageBox.Show(s.Message)
End Try
End Sub
Private Sub reco_SpeechDetected(ByVal sender As Object, ByVal e As System.Speech.Recognition.SpeechDetectedEventArgs) Handles reco.SpeechDetected
Label1.Text = "Speech Detected"
End Sub
Private Sub reco_SpeechRecognized(ByVal sender As Object, ByVal e As System.Speech.Recognition.RecognitionEventArgs) Handles reco.SpeechRecognized
Select Case e.Result.Text
Case "red"
SetColor(Color.Red)
Case "green"
SetColor(Color.Lime)
End Select
End Sub
Private Sub SetColor(ByVal color As System.Drawing.Color)
reco.RecognizeAsyncCancel()
reco.RecognizeAsyncStop()
synth.Speak("setting the back color to " & color.ToString)
Me.BackColor = color
reco.RecognizeAsync(RecognizeMode.Multiple)
End Sub
End Class
تحياتي للجميع ورمضان كريم عليكم