Как использовать SSML в Alexa Skill + Lambda + Js

Я пытаюсь использовать SSML в своем Alexa Skill. Я использую Lambda в качестве конечной точки службы и Js для ее программирования. Теперь мой вопрос, как мне правильно реализовать это в моем навыке? Я использую следующую функцию для использования SSML:

function buildSSMLSpeechletResponse(title, output, repromptText, shouldEndSession) {
    return {
        outputSpeech: {
            type: "SSML",
            ssml: output
        },
        card: {
            type: "Simple",
            title: "SessionSpeechlet - " + title,
            content: "SessionSpeechlet - " + output
        },
        reprompt: {
            outputSpeech: {
                type: "SSML",
                text: repromptText
            }
        },
        shouldEndSession: shouldEndSession
    };
}

Мой код:

function onLaunch(launchRequest, session, callback) {
    console.log("onLaunch requestId=" + launchRequest.requestId
        + ", sessionId=" + session.sessionId);

    var cardTitle = "Hello, World!";
    var speechOutput = { type: "SSML",
    ssml: "<speak>Welcome to Hubo help. <amazon:effect name='whispered'>You can ask questions like</amazon:effect>: 'How do I paint a wall?'. Now what can I help you with?.</speak>", };
    callback(session.attributes,
        buildSSMLSpeechletResponse(cardTitle, speechOutput, "", true));
}

Я думаю, что сделал ошибку при обратном вызове? Заранее спасибо!


person Mae    schedule 08.05.2017    source источник


Ответы (1)


Если вы используете SDK Alexa Skills Kit для Node.js вы можете просто включить SSML-разметку в текст для генерации.

Например:

this.emit(':tell', 'Sometimes when I look at the Alexa skills you have all taught me, I just have to say, <say-as interpret-as="interjection">Bazinga.</say-as><break time="0.3s"/><amazon:effect name="whispered"> I love it. </amazon:effect>')

this.emit(':tell', '<say-as interpret-as="interjection">Oh boy</say-as><break time="1s"/> this is just an example.')

Он будет включен в файл README.md, там есть это PR для этого сейчас

person imTachu    schedule 08.05.2017