Создание Alexa Skill с постоянным звуковым ответом - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь создать навык Alexa на основе упомянутого учебника здесь .Я создаю это, используя Alexa-Hosted Skill .Когда я открываю свой навык, вместо того чтобы сказать «привет», я получаю сообщение об ошибке: «Возникла проблема с ответом на запрошенный навык»

Код в точности совпадает с указанным в каталоге src на GitHub.Сделки рЕПО.Пожалуйста, дайте мне знать, если вам все еще нужно это увидеть, и я могу вставить это здесь.

У меня есть 2 вопроса:

  1. Я попытался выяснить, что такое директивы :ask и :tell, но не смог найти документацию.Я проверил несколько примеров репозиториев, предоставленных Alexa (например: фактический навык , простой навык , как навык ), но каждый образец создавал навык с использованием ResponseBuilder, которыйвроде задокументировано здесь но я не нашел документацию обширной.Может кто-нибудь сказать мне, что это такое и где я могу найти больше документации о них?

  2. Как мне исправить полученную ошибку, чтобы я мог воспроизвести звук?

1 Ответ

0 голосов
/ 26 февраля 2019

alexa-sdk пакет, который используется в упомянутом репозитории GitHub, устарел, и вы не должны его использовать.

Вы должны использовать alexa-sdk-core .

Если вы хотите воспроизвести аудио, вы можете создать обработчик намерений, как показано ниже в редакторе кода вашего Alexa Skill,

const PlayAudioIntent = {
    canHandle(handlerInput) {
        return handlerInput.requestEnvelope.request.type === 'IntentRequest'
            && handlerInput.requestEnvelope.request.intent.name === 'PlayAudioIntent';
    },
    handle(handlerInput) {
        const audioFile = '<audio src="https://s3.amazonaws.com/cdn.dabblelab.com/audio/one-small-step-for-man.mp3" />';
        const speechText = `Hello ${audioFile}`;
        return handlerInput.responseBuilder
            .speak(speechText)
            //.reprompt('add a reprompt if you want to keep the session open for the user to respond')
            .getResponse();
    }
};
...