3

を使用して、標準的なカードに画像を追加します。画像が行くんアレクサスキルキット:どのように私は<a href="https://github.com/amzn/alexa-skills-kit-js/tree/master/samples" rel="nofollow">alexa-skills-kit-js/samples/</a></p> <p>の例をオフに構築してきたが、あなたは、応答カードに画像を追加する場所彼らはいずれかを持っていないJS

response.askWithCard(speechOutput, repromptOutput, cardTitle, cardContent);

? cardContentは通常文字列です。私はイメージを含むオブジェクトに変換しますか?

答えて

0

残念ながら、「シンプル」はハードコードされているように見えます。小さな画像URLと大きな画像URLには「標準」カードが必要です。ここでは、機能を追加するためにAlexaSkill.jsのローカルコピーを変更する必要があります

https://github.com/amzn/alexa-skills-kit-js/blob/master/samples/historyBuff/src/AlexaSkill.js#L142

if (options.cardTitle && options.cardContent) { 
     alexaResponse.card = { 
      type: "Simple", 
      title: options.cardTitle, 
      content: options.cardContent 
     }; 
    } 

からのコードがあります。ここで

はカードがどのように動作するかを示すフラスコ-掲載し、ライブラリのAPIの使用(私は)次のとおりです。

https://johnwheeler.org/flask-ask/responses.html#displaying-cards-in-the-alexa-smartphone-tablet-app

2

私はマーク・ストリンガーからアマゾン開発者サポートフォーラムで同様の質問にはreplyを追っ:

私はこれで自分自身に苦労していて、今は動作させています。 アマゾンが提供するサンプルのAlexaSkill.jsモジュールを使用している場合は、 にピクチャカードを扱うためにいくつかのセクションを追加する必要があります。

buildSpeechletResponseセクションは、同様のタイプ 「シンプル」セクションの後にこれを追加して:さらに下askWithCard定義の後に続いて

if (options.cardSmallImageURL && options.cardLargeImageURL) { 
     alexaResponse.card = { 
      type: "Standard", 
      title: options.cardTitle, 
      text: options.cardContent, 
      image: { 
       smallImageUrl: options.cardSmallImageURL, 
       largeImageUrl: options.cardLargeImageURL 
      } 
     }; 
    } 

すると、この追加:今、あなたはそれを呼び出すことができます

askWithPictureCard: function(speechOutput, repromptSpeech, cardTitle, cardContent, smallImageURL, largeImageURL) { 
     this._context.succeed(buildSpeechletResponse({ 
      session: this._session, 
      output: speechOutput, 
      reprompt: repromptSpeech, 
      cardTitle: cardTitle, 
      cardContent: cardContent, 
      cardSmallImageURL: smallImageURL, 
      cardLargeImageURL: largeImageURL, 
      shouldEndSession: false 
     })); 

を、おそらく定数ではなく変数を使用しています。 は、

response.askWithPictureCard(「これは、音声出力は」、「これはカードのタイトルである」「これは 再プロンプトで」「これは、カードのテキストがあり、 フィールドはテキストcardContentないと呼ばれて注意してください」 [0123]

次に、同様のプロセスに従ってtellWithPictureCard関数を追加します。

彼は私が上記の私のペーストで修正カードを意味する場合ストリンガーがCRDを置くが、コード内の1つの小さなタイプミスがあります。それ以外のこのアプローチは私のために働いた。

関連する問題

 関連する問題