use SpeechLib_TLB;
procedure TextToWav(Atext:string;AFieldName:string;)
var
ResultStr, aText, shengyinxuhao, awavfile: string;
SpFileStream1: TSpFileStream;
SpVoice1: TSpVoice;
MyMemoryStream: TMemoryStream;
Getstr, aurl: string;
Tmpbs: TBytes;
W: TTextWriter;
begin
// 声音序号 0为中文,1为英文
if shengyinxuhao = '' then
shengyinxuhao := '0';
awavfile := AFieldName;//+ '.wav';
try
// TThread.Synchronize(nil,
// procedure // 处理界面交互代码写这里
// begin
SpVoice1 := TSpVoice.Create(nil);
// SpVoice1.GetVoices('', '');
SpVoice1.Voice := SpVoice1.GetVoices('', '').item(shengyinxuhao.ToInteger);
// SpVoice1.Volume := 30; // 0到100
// SpVoice1.AudioOutput := SpVoice1.GetAudioOutputs('', '').item(shengyinxuhao.ToInteger);
// SpVoice1.Rate := 0; // -5到5之间
SpFileStream1 := TSpFileStream.Create(nil);
SpFileStream1.Format.type_ := SAFT8kHz8BitStereo; // SAFT8kHz8BitMono;
调用WINDOWS的TTS接口,将你的文字变成Wav文件
于 2024-06-04 23:14:58 首次发布