中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 关于如何输出声音文件 上一主题 | 下一主题
lisyofun
初级用户





积分 87
发帖 61
注册 2008-9-18
状态 离线
『楼 主』:  关于如何输出声音文件

请问如何用vbs或bat输出声音文件,比如下面这个
Dim msg, sapi
msg ="hello"
Set sapi=CreateObject("sapi.spvoice")
sapi.Speak msg

请问怎么把这段声音输出到mp3或wav文件呢

2009-10-14 22:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mountvol
初级用户





积分 186
发帖 117
注册 2006-8-14
状态 离线
『第 2 楼』:  


Const SSFMCreateForWrite = 3

strText = "bbs.cn-dos.net"

Set objVoice = CreateObject("SAPI.SpVoice")
Set objFile = CreateObject("SAPI.SpFileStream.1")

objFile.Open "C:\Documents and Settings\administrator\桌面\Test.wav", SSFMCreateForWrite
Set objVoice.AudioOutputStream = objFile
objVoice.Speak strText


   此帖被 +22 点积分          点击查看详情   
评分人:【 everest79 分数: +20  时间:2009-10-15 10:12
评分人:【 lisyofun 分数: +2  时间:2009-10-16 03:51


2009-10-15 09:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lisyofun
初级用户





积分 87
发帖 61
注册 2008-9-18
状态 离线
『第 3 楼』:  

呵呵,要的就是这个,网上找了很久都没找到。
请问有sapi详细的属性和方法么,不胜感激。

2009-10-16 03:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lisyofun
初级用户





积分 87
发帖 61
注册 2008-9-18
状态 离线
『第 4 楼』:  

呵呵,找到了,和大家共享。

'属性:
'AlertBoundary 分隔类型,该属性不同,产生的事件就不同
'AllowAudioOutputFormatChangesOnNextSet 允许用户是否能调整音频格式
'AudioOutputStream 通过该属性获得由对象SpFileStream打开的文件数据流,然后通过speak方法朗读出来
'EventInterests 与AlertBoundary类似,用来产生事件的类型
'Priority 优先权
'Rate 朗读速度
'Voice 声音类型
'Volume 声音大小


'方法:

GetVoices 到得声音类型
'Speak 开始朗读
'Pause 暂停
'Resume 从暂停处开始朗读
'Skip 跳过若干单词或句子
'SpeakStream 朗读文件数据流
'WaitUntilDone 延迟一定时间,单位为毫秒


'事件:

'Word 每读完一个单词便产生一次该事件
'VoiceChange 声音改变就产生
'Phoneme 每个音位产生
'EndStream 朗读完毕后产生

2009-10-18 16:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: