Alexa.Speakerインターフェース



Alexa.Speakerインターフェース

Speakerインターフェースは、対応可能なエンターテイメントデバイスのボリュームの設定または調整、および消音と消音解除に使用するディレクティブを提供します。

ボリュームを、連続した値の範囲の任意の整数値に設定または調整できるデバイスにこのインターフェースを実装します。デバイスのボリュームが連続しない状態でしか調整できない場合は、StepSpeakerを実装します。

ディレクティブ

このインターフェースの制御とクエリーのディレクティブは、以下の言語のスキルで使用できます。

  • 英語 - すべてのロケール
  • イタリア語
  • スペイン語(スペイン)
  • 日本語

詳細については、スマートホームスキルを複数の言語で開発するを参照してください。

SetVolume

ボリュームを特定の値に設定するリクエストです。値は0から100までの範囲の絶対値になります。

ユーザー: アレクサ、デバイスの音量を50にして

リクエストの例:

{
  "directive": {
    "header": {
      "namespace": "Alexa.Speaker",
      "name": "SetVolume",
      "messageId": "5f8a426e-01e4-4cc9-8b79-65f8bd0fd8a4",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "device-001",
      "cookie": {

      }
    },
    "payload": {
      "volume": 50
    }
  }
}

ペイロードの詳細

フィールド 説明 必須
volume リクエストされたボリュームを表す整数です。0(最小)から100(最大)までの範囲です。 0から100までの範囲の整数

AdjustVolume

ボリュームの相対的な調整を実行するリクエストです。正の値はボリュームを上げ、負の値はボリュームを下げます。

ユーザー: アレクサ、デバイスの音量を20下げる

{
  "directive": {
    "header": {
      "namespace": "Alexa.Speaker",
      "name": "AdjustVolume",
      "messageId": "c8d53423-b49b-48ee-9181-f50acedf2870",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "device-001",
      "cookie": {

      }
    },
    "payload": {
      "volume": -20,
      "volumeDefault": false
    }
  }
}

ペイロードの詳細

フィールド 説明 必須
volume リクエストされたボリュームの変更を0から100までの範囲で相対的に表す整数です。負の数字はボリュームを下げることを意味し、正の数字はボリュームを上げることを意味します。 -100から100までの範囲の整数
volumeDefault ボリュームフィールドの値がユーザーによって明示的に指定されたものであるかどうかを示すフラグです。falseの場合、値はユーザーによって明示的に指定されたものです。trueの場合、値はデフォルト値です。 ブール値

SetMute

指定されたデバイスを消音または消音解除するリクエストです。

ユーザー: アレクサ、デバイスをミュートにして

ユーザー: アレクサ、デバイスミュート解除

リクエストの例:

{
  "directive": {
    "header": {
      "namespace": "Alexa.Speaker",
      "name": "SetMute",
      "messageId": "c8d53423-b49b-48ee-9181-f50acedf2870",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "device-001",
      "cookie": {     }
    },
    "payload": {
      "mute": true
    }
  }
}

ペイロードの詳細

フィールド 説明 必須
mute trueはデバイスを消音することを示し、falseはデバイスを消音解除することを示します。 ブール値

プロパティとイベント

このインターフェースでは、以下のように応答する必要があります。

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

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

プロパティ

プロパティ名 プロパティタイプ 説明
volume VolumeLevel 0から100までの範囲の値で表現されたエンドポイントのボリュームレベルです。
muted MuteState エンドポイントの消音状態を表します。trueは消音、falseは消音解除です。

応答

SetVolumeAdjustVolume、またはSetMuteディレクティブが正常に処理されたら、応答イベントを送信する必要があります。このイベントには、リクエストと同じ相関トークンが含まれている必要があり、また、コンテキストでvolumeおよびmutedの現在の値を報告する必要があります。

応答の例

{
  "context": {
    "properties": [
      {
        "namespace": "Alexa.Speaker",
        "name": "volume",
        "value": 50,
        "timeOfSample": "2017-02-03T16:20:50.52Z",
        "uncertaintyInMilliseconds": 0
      },
      {
        "namespace": "Alexa.Speaker",
        "name": "muted",
        "value": false,
        "timeOfSample": "2017-02-03T16:20:50.52Z",
        "uncertaintyInMilliseconds": 0
      }
    ]
  },
  "event": {
    "header": {
      "messageId": "30d2cd1a-ce4f-4542-aa5e-04bd0a6492d5",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
      "namespace": "Alexa",
      "name": "Response",
      "payloadVersion": "3"
    },
    "endpoint":{
       "endpointId":"appliance-001"
    },
    "payload":{ }
 }
}

ErrorResponse

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

その他のサンプルコード

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

Speaker

インターフェース 説明
Alexa.StepSpeaker ボリュームを値が連続していない、段階的な設定にするメッセージです。