4

我有一个说小部件

> "Hello ... Thanks"

我试过像这样向那个元素添加一个像 twiML 这样的暂停字符串

> "Hello  <Pause length="10"/> ... Thanks"

但它只是说出了这个Pause length="10"部分

如何为说/播放小部件添加暂停?

4

4 回答 4

6

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 秒的“说”小部件之间暂停。

我希望它有所帮助。

于 2018-06-25T20:53:11.950 回答
6

从 Twilio 支持那里得到这个

间隔的句点仅适用于传统声音(男人、女人、爱丽丝)。

如果您使用的是新的 Polly 语音,则需要在 Say 文本区域中嵌入 SSML,例如:

<speak>Hello. <break time="5s"/> Goodbye.</speak>

对我来说工作得很好。

于 2018-11-21T09:44:03.373 回答
6

根据关于小部件的 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);
};
于 2018-10-01T19:42:06.017 回答
0

作为Alex回答的后续行动,对于现在正在查看此问题的任何人,Twilio 的超时时间(截至 2019 年 9 月)已从 5 秒增加到 10 秒:

https://www.twilio.com/changelog/twilio-functions-increased-timeout

于 2021-02-08T16:34:55.637 回答