标题:文本转语音,在播放语音过程中能停止语音吗?
只看楼主
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
结帖率:60%
已结贴  问题点数:20 回复次数:4 
文本转语音,在播放语音过程中能停止语音吗?
   loVoice.Voice = loVoice.GetVoices().Item(0)  && 我的(3)是中文女声,(0)可能是 Microsoft Sam
   lovoice.speak(thisform.edit1.text,1)

如上指令,让电脑播放EDIT1中的文字内容,但电脑会将所有内容播放完,能够中途停止语音吗?是什么指令呢?恳请帮忙指教!
搜索更多相关主题的帖子: 文本 语音 播放 中能 停止 
2018-01-17 10:34
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
得分:0 
我现在能用的办法是先将文本转成WAV音频,然后播放音频,音频可随时停止。文本朗读有办法直接停止吗?
2018-01-17 10:41
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:20 
lovoice.speak(thisform.edit1.text,1)
speak()的第二个参数为 1 是异步方式,执行之后在适当时候可以暂停或中止。
oSpeak = CREATEOBJECT("SAPI.SPVoice")
cStr = "该SpVoice对象带来了文字到应用程序使用的SAPI自动化语音转换(TTS)引擎功能。"+;
    "应用程序可以创建无数SpVoice对象,每个独立和与人交往的能力。 一个SpVoice对象,"+;
    "通常简称为一个声音,是创建具有默认属性设置,以便它已准备好立即发言。"
oSpeak.SPEAK(cStr, 1)  && 1异步,0同步
? "按任一键......暂停"
INKEY(0)
oSpeak.Pause()
? "按任一键......恢复"
INKEY(0)
oSpeak.Resume()
? "按任一键......结束"
INKEY(0)
RELEASE oSpeak
? "按任一键......"
INKEY(0)
2018-01-17 11:41
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
得分:0 
回复 3楼 吹水佬
找了很长时间没有找到这些参数,真的非常感谢!
2018-01-17 12:19
jlliushi
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2021-12-24
得分:0 
文字转语音的我学会了,我想要一个语音转文字的,代码怎么写?
2021-12-24 11:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-484292-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.407247 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved