Partilhar via


SpeechSynthesizer.Voice Property

Definition

Gets information about the current voice of the SpeechSynthesizer object.

public:
 property System::Speech::Synthesis::VoiceInfo ^ Voice { System::Speech::Synthesis::VoiceInfo ^ get(); };
public System.Speech.Synthesis.VoiceInfo Voice { get; }
member this.Voice : System.Speech.Synthesis.VoiceInfo
Public ReadOnly Property Voice As VoiceInfo

Property Value

Returns information about the current voice of the SpeechSynthesizer object.

Examples

The following example initializes an instance of SpeechSynthesizer and gets information about the current voice.

using System;
using System.IO;
using System.Speech.Synthesis;
using System.Speech.AudioFormat;

namespace SampleSynthesis
{
  class Program
  {
    static void Main(string[] args)
    {

      // Initialize a new instance of the SpeechSynthesizer.
      using (SpeechSynthesizer synth = new SpeechSynthesizer())
      {

        // Get information about supported audio formats.
        string AudioFormats = "";
        foreach (SpeechAudioFormatInfo fmt in synth.Voice.SupportedAudioFormats)
        {
          AudioFormats += String.Format("{0}\n",
          fmt.EncodingFormat.ToString());
        }

        // Write information about the voice to the console.
        Console.WriteLine(" Name:          " + synth.Voice.Name);
        Console.WriteLine(" Culture:       " + synth.Voice.Culture);
        Console.WriteLine(" Age:           " + synth.Voice.Age);
        Console.WriteLine(" Gender:        " + synth.Voice.Gender);
        Console.WriteLine(" Description:   " + synth.Voice.Description);
        Console.WriteLine(" ID:            " + synth.Voice.Id);
        if (synth.Voice.SupportedAudioFormats.Count != 0)
        {
          Console.WriteLine(" Audio formats: " + AudioFormats);
        }
        else
        {
          Console.WriteLine(" No supported audio formats found");
        }

        // Get additional information about the voice.
        string AdditionalInfo = "";
        foreach (string key in synth.Voice.AdditionalInfo.Keys)
        {
          AdditionalInfo += String.Format("  {0}: {1}\n",
            key, synth.Voice.AdditionalInfo[key]);
        }

        Console.WriteLine(" Additional Info - " + AdditionalInfo);
        Console.WriteLine();
      }

      Console.WriteLine();
      Console.WriteLine("Press any key to exit...");
      Console.ReadKey();
    }
  }
}

Remarks

When you initialize a new SpeechSynthesizer, it uses the default system voice. To configure the SpeechSynthesizer object to use one of the installed speech synthesis voices, use the SelectVoice or SelectVoiceByHints method. To get information about which voices are installed, use the GetInstalledVoices method and the VoiceInfo class.

Applies to

See also