Alexa.Speakerインターフェース


Alexa.Speakerインターフェース

Alexa.Speakerインターフェースは、エンターテイメントデバイスのボリュームの設定、ボリュームの調整、および消音と消音解除に使用するディレクティブを提供します。ボリュームを連続した値の範囲の任意の整数値に設定できるデバイスに、このインターフェースを実装します。デバイスのボリュームが連続しない状態でしか調整できない場合は、StepSpeakerインターフェースを実装します。

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

発話

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

Alexa, set the volume of the speakers to 50.
Alexa, turn the volume down on the stereo by 20.
Alexa, mute speakers.
Alexa, unmute speakers.

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

ディレクティブ

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": "abc-123-def-456",
      "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": "abc-123-def-456",
      "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はデバイスを消音解除することを示します。 ブール値

プロパティとイベント

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

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

応答を送信する場合、メッセージの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": "abc-123-def-456",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
      "namespace": "Alexa",
      "name": "Response",
      "payloadVersion": "3"
    },
    "endpoint":{
       "endpointId":"appliance-001"
    },
    "payload":{ }
 }
}

ErrorResponse

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

その他のサンプルコード

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

Speaker

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

このページは役に立ちましたか?