Alexa.InputControllerインターフェース



Alexa.InputControllerインターフェース

Alexa.InputControllerインターフェースには、エンターテイメントデバイスの入力を変更するためのメッセージが含まれます。

InputControllerインターフェースでサポートされているロケールについては、機能インターフェースの一覧を参照してください。

発話

Alexa.InputControllerインターフェースを使用する場合、音声対話モデルは既にビルドされています。以下に、ユーザーの発話の例を示します。

Alexa, change the input to DVD.

ユーザーがこのような発話をしたら、Alexaがそれに対応するディレクティブをスキルに送信します。

検出

InputControllerをサポートするエンドポイントに検出メッセージを送信する際に、サポートされている入力の配列を指定します。

配列の各入力には次のフィールドがあります。

プロパティ 説明 タイプ 必須
name 入力の名前です。名前は、このエンドポイントの入力全体で一意である必要があります。有効な値は次のとおりです: AUX 1AUX 2AUX 3AUX 4AUX 5AUX 6AUX 7BLURAYCABLECDCOAX 1COAX 2COMPOSITE 1DVDGAMEHD RADIOHDMI 1HDMI 2HDMI 3HDMI 4HDMI 5HDMI 6HDMI 7HDMI 8HDMI 9HDMI 10HDMI ARCINPUT 1INPUT 2INPUT 3INPUT 4INPUT 5INPUT 6INPUT 7INPUT 8INPUT 9INPUT 10IPODLINE 1LINE 2LINE 3LINE 4LINE 5LINE 6LINE 7MEDIA PLAYEROPTICAL 1OPTICAL 2PHONOPLAYSTATIONPLAYSTATION 3PLAYSTATION 4SATELLITESMARTCASTTUNERTVUSB DACVIDEO 1VIDEO 2VIDEO 3XBOX関連トピック: Input. 文字列

例: InputControllerが含まれるDiscover.Response

{
  "event": {
    "header": {
      "namespace": "Alexa.Discovery",
      "name": "Discover.Response",
      "payloadVersion": "3",
      "messageId": "ff746d98-ab02-4c9e-9d0d-b44711658414"
    },
    "payload": {
      "endpoints": [
        {
          "capabilities": [
            {
              "type": "AlexaInterface",
              "interface": "Alexa.InputController",
              "version": "3",
              "inputs": [
                {
                  "name": "HDMI 1"
                },
                {
                  "name": "HDMI 2"
                }
              ]
            }
          ]
        }
      ]
    }
  }
}

ディレクティブ

SelectInput

入力または入力デバイスを変更するリクエストです。

ユーザー: アレクサ、入力を入力名に変えて

リクエストの例:

{
  "directive": {
    "header": {
      "namespace": "Alexa.InputController",
      "name": "SelectInput",
      "messageId": "abc-123-def-456",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "device-001",
      "cookie": {}
    },
    "payload": {
      "input": "HDMI 1"
    }
  }
}

ペイロードの詳細

プロパティ 説明 タイプ 必須
input ユーザーがリクエストした入力デバイスの識別子です。 文字列

イベントとプロパティ

この機能では、以下のように応答する必要があります。

  • 同期的に応答します。つまり、Lambda関数からAlexaに応答を送信します。

応答を送信する場合、メッセージのcontextにインターフェースのプロパティの状態を含める必要があります。

プロパティ

入力の状態が変更されると、inputプロパティを含む状態レポートが送信されます。

プロパティ名 プロパティタイプ 説明
input 入力 新しい入力デバイスを識別する文字列です。たとえば、HDMI 1などです。

応答

正常にSelectInputディレクティブが処理されたら、Responseを送信します。

応答の例

以下は、Alexaの応答の例です。

{
  "context": {
    "properties": [
      {
        "namespace": "Alexa.InputController",
        "name": "input",
        "value": "HDMI 1",
        "timeOfSample": "2017-02-03T16:20:50.52Z",
        "uncertaintyInMilliseconds": 0
      }
    ]
  },
  "event": {
    "header": {
      "messageId": "abc-123-def-456",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
      "namespace": "Alexa",
      "name": "Response",
      "payloadVersion": "3"
    },
    "endpoint": {
      "endpointId": "appliance-001"
    },
    "payload": {}
  }
}

ErrorResponse

何らかの理由によりユーザーのリクエストを完了できない場合、エラー応答を返す必要があります。詳細については、Alexa.ErrorResponseを参照してください。

その他のサンプルコード

リクエストと応答のサンプルについては、AlexaスマートホームのGitHubリポジトリで以下を参照してください。

InputController