我有一个说小部件
> "Hello ... Thanks"
我试过像这样向那个元素添加一个像 twiML 这样的暂停字符串
> "Hello <Pause length="10"/> ... Thanks"
但它只是说出了这个Pause length="10"
部分
如何为说/播放小部件添加暂停?
我有一个说小部件
> "Hello ... Thanks"
我试过像这样向那个元素添加一个像 twiML 这样的暂停字符串
> "Hello <Pause length="10"/> ... Thanks"
但它只是说出了这个Pause length="10"
部分
如何为说/播放小部件添加暂停?
Twilio 真的有人应该为 Studio 创建一个PAUSE
小部件。
在那之前,如果你喜欢使用丑陋的黑客......这里是:
由于您可以在流程中添加函数小部件,因此创建一个 Twilio“运行时函数”(我称之为“暂停”)
exports.handler = function(context, event, callback) {
const duration = event.duration || 1500;
setTimeout(
function() {
// console.log(duration);
callback();
} , duration);
};
然后,将一个“Say”小部件替换为“Say”小部件+“Pause”功能小部件+“Say”小部件。
当您添加“暂停”小部件时,使用参数对其进行配置,添加一个duration
值不超过 3000 到 4000 的参数(我不知道如何解释原因,但如果函数需要,函数将“运行时超时”执行时间超过 5 秒)。
添加参数时,请确保它们确实已添加...,我遇到了一些麻烦,直到我发现您需要在填写“键”,“值”字段后单击“添加参数”链接,而不是我正在点击大的“保存”按钮。
由于您正在寻找 10 秒的暂停,您可能会尝试在“说”小部件之间级联 3 个带有持续时间参数(3000、3000、4000)的“暂停”小部件。
我已经对此进行了测试,通过插入一个 3000 暂停和一个 4000 暂停功能,我能够在 2 个 7 秒的“说”小部件之间暂停。
我希望它有所帮助。
从 Twilio 支持那里得到这个
间隔的句点仅适用于传统声音(男人、女人、爱丽丝)。
如果您使用的是新的 Polly 语音,则需要在 Say 文本区域中嵌入 SSML,例如:
<speak>Hello. <break time="5s"/> Goodbye.</speak>
对我来说工作得很好。
根据关于小部件的 Twilio 文档,可以通过放置空格分隔的句点来添加暂停,其中 15 个相当于 1 秒延迟。
因此,以下要说的文本在句子之间会有 1 秒的延迟:
Hello, John!
. . . . . . . . . . . . . . .
Today is a very nice day.
编辑:这仅适用于非 [Polly] 声音(爱丽丝、男人、女人 - 小部件配置中“消息语音”字段中的选项)。
它的另一种替代方法是使用 Twilio Functions 并将 Run Function 小部件添加到 Flow。有关更多说明,请按照Twilio 的“添加延迟”说明(特别提到在 Studio Flow 中使用。
// Description
// Add a delay, useful for using with Twilio Studio Run Function Widget
exports.handler = function (context, event, callback) {
// Function can run up to 10 seconds (value of delay is milliseconds)
// Pass in delay as a URL query parameter
// Example: https://x.x.x.x/<path>?delay=5000
let delayInMs = event.delay || 5000;
let timerUp = () => {
return callback(null, `Timer Up: ${delayInMs}ms`);
};
setTimeout(timerUp, delayInMs);
};
作为Alex的回答的后续行动,对于现在正在查看此问题的任何人,Twilio 的超时时间(截至 2019 年 9 月)已从 5 秒增加到 10 秒:
https://www.twilio.com/changelog/twilio-functions-increased-timeout