闲暇无事,利用window SDK 与vs2008,基于Windows Vista speech API5.3以及WPF技术开发了一套语音朗读的代码,
牛刀小试,
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Collections.ObjectModel;
using System.Xml;
using System.Speech.Synthesis;
namespace speechSynth
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : System.Windows.Window
{
private SpeechSynthesizer synth;
public Window1()
{
InitializeComponent();
synth = new SpeechSynthesizer();
synth.StateChanged += new EventHandler<StateChangedEventArgs>(synth_StateChanged);
synth.BookmarkReached += new EventHandler<BookmarkReachedEventArgs>(synth_BookmarkReached);
synth.PhonemeReached += new EventHandler<PhonemeReachedEventArgs>(synth_PhonemeReached);
synth.SpeakCompleted += new EventHandler<SpeakCompletedEventArgs>(synth_SpeakCompleted);
synth.SpeakProgress += new EventHandler<SpeakProgressEventArgs>(synth_SpeakProgress);
synth.SpeakStarted += new EventHandler<SpeakStartedEventArgs>(synth_SpeakStarted);
synth.VisemeReached += new EventHandler<VisemeReachedEventArgs>(synth_VisemeReached);
synth.VoiceChange += new EventHandler<VoiceChangeEventArgs>(synth_VoiceChange);
this.btnSpeakText.Click += new RoutedEventHandler(btnSpeakText_Click);
this.btnWavFile.Click += new RoutedEventHandler(btnWavFile_Click);
this.btnVoices.Click += new RoutedEventHandler(btnVoices_Click);
this.btnSpeakSsml.Click += new RoutedEventHandler(btnSpeakSs