老旧玩意,突然要用,写个小工具整理成wav
.net framework
引用COM
Microsoft Speech Object Library
public class SpeechVocie
{
public static void Speak(string text, int rate=1)
{
try
{
var voice = new SpeechLib.SpVoice();
voice.Rate = rate;
voice.Speak(text, SpeechLib.SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak);
voice.WaitUntilDone(System.Threading.Timeout.Infinite);
}
catch
{
}
}
public static void SpeakToFile(string text, string filename, int rate=1)
{
SpeechLib.SpVoice voice = new SpeechLib.SpVoice();
voice.Rate = rate;
SpeechLib.SpFileStream sfs = new SpeechLib.SpFileStream();
try
{
sfs.Open(filename, SpeechLib.SpeechStreamFileMode.SSFMCreateForWrite, false);
voice.AudioOutputStream = sfs;
voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(0);
voice.Speak("<LANG LANGID= '804'> " + text, SpeechLib.SpeechVoiceSpeakFlags.SVSFlagsAsync);
voice.WaitUntilDone(System.Threading.Timeout.Infinite);
}
catch
{
}
finally
{
sfs.Close();
}
}
}
写个控制台集成命令方便偶尔使用
文件转github
补充
加了个窗口版本的
注意用static
请右转
网友评论