如何在 Google 助理响应中添加几秒钟的休息/暂停

问题描述 投票:0回答:2

向用户发送响应时,如何添加几秒钟的暂停/休息,例如

回复文字:“问题的答案是< Pause for 2 seconds >答案”

我尝试了

<break = "2s" />
,但这对我不起作用。

actions-on-google dialogflow-es
2个回答
6
投票

您必须在答案中使用 SSML,为此,只需使用

<speak>
标签包装您的答案,然后添加另一个标签
<break time="2s"/>
,如下所示:

<speak>The answer to the question is <break time="2s"/> answer</speak>

有关 SSML 的更完整信息,请查看


0
投票

对于当完整响应来自 Webhook 请求时起作用的 Dialogflow-CX。 其工作原理如下:您的 Dialogflow 代理将 WebhookRequest 发送到您的服务器。被调用的路由使用包含 FullfillmentResponse 的 WebhookResponse 对象进行响应,该对象具有相应的 ResponseMessage,该 ResponseMessage 已使用正确的 ssml 密钥设置设置了 outputAudioText 属性。 您的代理将使用该响应,例如在某个单词之后停顿。

为了澄清这一点,我将向您展示一个示例 WebhookResponse 对象及其外观:

const returnObject: WebhookResponse = {
        payload: {
            method: 'time-validation',
        },
        fullfillmentResponse: {
            messages: [
                {
                    responseType: ResponseType.RESPONSE_TYPE_UNSPECIFIED,
                    channel: 'default',
                    outputAudioText: {
                        allowPlaybackInterruption: false,
                        ssml: `<speak>Okay, vielen Dank! Wir übermitteln Ihren Namen, Rufnummer 
                        und Ihre gewünschte Rückrufzeit an unser Vertriebsteam und versuchen Sie 
                        am $session.params.date um $session.params.time Uhr zu erreichen <break time="1s"/>Auf wiedersehen</speak>`,
                    },
                },
            ],
            mergeBehavior: MergeBehavior.REPLACE,
        },

        sessionInfo: {
            session: body.sessionInfo.session,
            parameters: {
                time: '12:30',
                date: '11.1.2024',
            },
        },
    }

在这里您可以看到定制的履行响应以及使用 SMLL 来进一步指示 TTS 系统如何采取行动。 此外,$session 参数是通过 sessionInfo 属性覆盖的。这些覆盖的参数也用于通过我们的 SMLL 创建的代理响应中。

© www.soinside.com 2019 - 2024. All rights reserved.