直接上代码,转自【驴G】
//SAPI 文本转语音保存文件
import com;
//朗读内容
str = /*<lang langid='409'>Hello</lang>
<lang langid='804'>你好</lang>
<VOLUME LEVEL='90'>SAPI为正常系统自带组件,如果是精简过删除了SAPI组件的系统请自行安装修复该组件</VOLUME>
*/
//创建文件流
var AudioFile = com.CreateObject("Sapi.SpFileStream");
var SAFT48kHz16BitStereo = 39; //这个没太看懂 随便抄一下算了
var SSFMCreateForWrite = 3; //创建并且覆盖
AudioFile.Format.Type = SAFT48kHz16BitStereo;
AudioFile.Open("d:\1.wav",SSFMCreateForWrite);
import com.sapi.voice;//导入语音组件
var voice = com.sapi.voice();//创建语音对象
//指定输出的文件流
voice.AudioOutputStream = AudioFile;
//开始朗读
voice.volume = 100;//音量
voice.rate = 1;//语速
voice.setVoiceByIndex(1);//语音库
voice.speakAsync(str,1);//异步非阻塞朗读
voice.waitOne();//等待朗读结束
//关闭文件流
AudioFile.Close();
如果是精简过删除了SAPI组件的系统请自行安装修复该组件
发表评论