Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Use Speech Reference in Visual C#.NET

0.00/5 (No votes)
5 Mar 2011 1  
Develop an application in Visual C#.NET called Understand and Read It!.
Understand and Read It! – Visual C# API

Hi Everybody,

Here, we will develop an application in Visual C# called "Understand and Read It!". Mohammad Elsheimy's blog is the source of this article. Why? Because, Mohammad Elsheimy has already written it. It is in here (Building Applications that Can Talk). So special thanks to Mohammed Elsheimy.

What is this about?

The Speech API library that we are going to use today is represented by the file sapi.dll which is located in %windir%\System32\Speech\Common. This library is not part of the .NET BCL and it’s not even a .NET library, so we’ll use interoperability to communicate with it (don't worry, when using Visual Studio, it is just a matter of adding a reference to the application)

Here We Go!

Now, in this step, we add a reference of the Speech Library to the project and design our Windows form. Look at the following figure 1:

Figure 1

After this process comes step 2. Design our form as in figure 2:

Figure 2

As shown in the form, I have got one Label, two Buttons and one TextBox. Now, we go to the third and final step!

Write Code For Yourself!

This is the final step. Write code for ourselves as shown in figure 3:

Figure 3
private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
            {
                string msgeror = "Text box must not null! Please try again.";
                MessageBox.Show(msgeror);
                SpVoice erspeak = new SpVoiceClass();
                erspeak.Speak(msgeror, SpeechVoiceSpeakFlags.SVSFDefault);
            }
            else
            {
                SpVoice speak = new SpVoiceClass();
                speak.Speak(textBox1.Text, SpeechVoiceSpeakFlags.SVSFDefault);
            }
        }

Notes

If you are using Visual Studio 2010 and .NET 4 Framework, the application will fail to run because of Interop problems. So you must select "false" to Embed Interop Types property of Speech Reference.

Download

  • To download the Word document file of this article, please Click here.
  • For download Visual Studio project file, please Click here.

Special Thanks

Thanks to Mohammad Elsheimy who inspired me. Also, if you want to visit the "Building Applications that Can Talk" article, please click here.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here