SpeechSynthesizer.SetOutputToWaveFile Method

Definition

Configures the SpeechSynthesizer object to append output to a Waveform audio format file.

Overloads

SetOutputToWaveFile(String, SpeechAudioFormatInfo)

Configures the SpeechSynthesizer object to append output to a Waveform audio format file in a specified format.

SetOutputToWaveFile(String)

Configures the SpeechSynthesizer object to append output to a file that contains Waveform format audio.

Remarks

To release the SpeechSynthesizer's reference to the file, reconfigure the SpeechSynthesizer's output, for example, by calling SetOutputToNull.

For other output configuration options, see the SetOutputToAudioStream, SetOutputToDefaultAudioDevice, SetOutputToNull, and SetOutputToWaveStream methods.

SetOutputToWaveFile(String, SpeechAudioFormatInfo)

Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs

Configures the SpeechSynthesizer object to append output to a Waveform audio format file in a specified format.

public:
 void SetOutputToWaveFile(System::String ^ path, System::Speech::AudioFormat::SpeechAudioFormatInfo ^ formatInfo);
public void SetOutputToWaveFile (string path, System.Speech.AudioFormat.SpeechAudioFormatInfo formatInfo);
member this.SetOutputToWaveFile : string * System.Speech.AudioFormat.SpeechAudioFormatInfo -> unit
Public Sub SetOutputToWaveFile (path As String, formatInfo As SpeechAudioFormatInfo)

Parameters

path
String

The path to the file.

formatInfo
SpeechAudioFormatInfo

The audio format information.

Examples

The following example specifies the format of the output of speech synthesis and sends it to a WAV file.

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())
      {

        // Configure the audio output.
        synth.SetOutputToWaveFile(@"C:\temp\test.wav",
          new SpeechAudioFormatInfo(32000, AudioBitsPerSample.Sixteen, AudioChannel.Mono));

        // Create a SoundPlayer instance to play output audio file.
        System.Media.SoundPlayer m_SoundPlayer =
          new System.Media.SoundPlayer(@"C:\temp\test.wav");

        // Build a prompt.
        PromptBuilder builder = new PromptBuilder();
        builder.AppendText("This is sample output to a WAVE file.");

        // Speak the prompt.
        synth.Speak(builder);
        m_SoundPlayer.Play();
      }

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

See also

Applies to

SetOutputToWaveFile(String)

Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs

Configures the SpeechSynthesizer object to append output to a file that contains Waveform format audio.

public:
 void SetOutputToWaveFile(System::String ^ path);
public void SetOutputToWaveFile (string path);
member this.SetOutputToWaveFile : string -> unit
Public Sub SetOutputToWaveFile (path As String)

Parameters

path
String

The path to the file.

Examples

The following example uses an instance of SoundPlayer to play a prompt that has been output to a .wav file. Because the SpeakAsync call is asynchronous, the SoundPlayer instance is created (and the Play method invoked) in the handler for the SpeakCompleted event.

using System;
using System.Speech.Synthesis;

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

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

      // Configure the audio output.
      synth.SetOutputToWaveFile(@"C:\Test\Sample.wav");

      // Register for the SpeakCompleted event.
      synth.SpeakCompleted += new EventHandler<SpeakCompletedEventArgs>(synth_SpeakCompleted);

      // Build a prompt.
      PromptBuilder builder = new PromptBuilder();
      builder.AppendText("This sample asynchronously speaks a prompt to a WAVE file.");

      // Speak the string asynchronously.
      synth.SpeakAsync(builder);

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

    // Handle the SpeakCompleted event.
    static void synth_SpeakCompleted(object sender, SpeakCompletedEventArgs e)
    {

      // Create a SoundPlayer instance to play the output audio file.
      System.Media.SoundPlayer m_SoundPlayer =
        new System.Media.SoundPlayer(@"C:\Test\Sample.wav");

      //  Play the output file.
      m_SoundPlayer.Play();
    }
  }
}

Remarks

To configure the output and specify the audio format, use the SetOutputToWaveFile method.

See also

Applies to