WSH调用系统语音播放
钢翼
编程
新建js文件,将以下内容复制进去。保存双击执行。
var VoiceObj =new ActiveXObject("Sapi.SpVoice");
var count = VoiceObj.GetVoices().Count; //本地安装的语音包数量,win10内置两个语音包,Zira(只会说英语)和Huihui(会说中文也会说英语)
//WScript.Echo(count)
VoiceObj.Rate = 0 //语速,-10~+10
VoiceObj.Volume = 100 //音量, 0~100
VoiceObj.Voice = VoiceObj.GetVoices().Item(1)//设置语音为HuiHui,具体看你电脑上的语音包
//WScript.Echo(VoiceObj.GetVoices().Item(1).GetDescription()) //输出语音包名称
VoiceObj.Speak("hello");
VoiceObj.Speak("你好");
//-------以下操作可将语音保存到文件-------
var StreamObj = new ActiveXObject("Sapi.SpFileStream");
var FormatObj = new ActiveXObject("Sapi.SpAudioFormat");
//设置文件流格式
StreamObj.Format= FormatObj
//设置音频流格式
FormatObj.Type = 22
//输出音频文件位置
StreamObj.Open("D://你好.mp3",3,true);
//设置声音对象的音频流输出流为输出文件对象
VoiceObj.AudioOutputStream = StreamObj;
VoiceObj.Speak("你好")
//关闭输出文件流
StreamObj.Close();
VoiceObj.AudioOutputStream = null;
WScript.Echo("操作成功")
win7有可能是阉割版,因而无法创建sapi对象,可以通过下载以下修复包进行修复。 https://pan.baidu.com/s/1bq7qruf