Alexa.StepSpeakerインターフェース
Alexa.StepSpeaker
インターフェースは、エンターテイメントデバイスのボリュームの調整、および消音と消音解除に使用するディレクティブを提供します。ボリュームの範囲が不明であり、ボリュームを連続していない、段階的な設定で調整するデバイスにこのインターフェースを実装します。たとえば、StepSpeaker
ではボリュームを5段階で調整できますが、50パーセントに調整することはできません。ボリュームを連続した値の範囲に基づいて設定できるデバイスの場合は、Speakerインターフェースを実装します。
StepSpeaker
インターフェースでサポートされているロケールについては、機能インターフェースの一覧を参照してください。
発話
Alexa.StepSpeaker
インターフェースを使用する場合、音声対話モデルは既にビルドされています。以下に、ユーザーの発話の例を示します。
Alexa, lower the volume on the stereo.
Alexa, volume up 20 on the speakers.
ユーザーがこのような発話をしたら、Alexaがそれに対応するディレクティブをスキルに送信します。
ディレクティブ
AdjustVolume
ボリュームの相対的な調整のリクエストです。AdjustVolume
ディレクティブは常に現在のボリューム設定からの相対であり、正の値はボリュームを上げ、負の値はボリュームを下げます。
ユーザー: アレクサ、デバイスのボリュームを下げて
ユーザー: アレクサ、デバイスで音量を上げる
リクエストの例:
{
"directive": {
"header": {
"namespace": "Alexa.StepSpeaker",
"name": "AdjustVolume",
"messageId": "c8d53423-b49b-48ee-9181-f50acedf2870",
"correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token":"access-token-from-skill"
},
"endpointId": "<the identifier of the target endpoint>",
"cookie": {
}
},
"payload": {
"volumeSteps": 20
}
}
}
ペイロードの詳細
フィールド | 説明 | タイプ | 必須 |
---|---|---|---|
volumeSteps |
増加または減少させるボリュームの分量を示す数字です。 | -100から100までの整数です。 | ◯ |
SetMute
エンドポイントを消音または消音解除するリクエストです。
リクエストの例:
{
"directive": {
"header": {
"namespace": "Alexa.StepSpeaker",
"name": "SetMute",
"messageId": "c8d53423-b49b-48ee-9181-f50acedf2870",
"correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token":"access-token-from-skill"
},
"endpointId": "<the identifier of the target endpoint>",
"cookie": {
}
},
"payload": {
"mute": true
}
}
}
ペイロードの詳細
フィールド | 説明 | タイプ | 必須 |
---|---|---|---|
mute |
trueはエンドポイントを消音することを意味します。falseはエンドポイントを消音解除することを意味します。 | ブール値 | ◯ |
プロパティとイベント
この機能では、以下のように応答する必要があります。
- 同期的に応答します。つまり、Lambda関数からAlexaに応答を送信します。
応答
を送信する場合、メッセージのcontext
にインターフェースのプロパティの状態を含める必要があります。
プロパティ
現在、このインターフェースに定義されているレポート可能なプロパティはありません。
応答
AdjustVolume
またはSetMute
ディレクティブが正常に処理されたら、Response
イベントを送信します。
応答の例
{
"context": {
"properties": [
]
},
"event": {
"header": {
"messageId": "30d2cd1a-ce4f-4542-aa5e-04bd0a6492d5",
"correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
"name": "Response",
"payloadVersion": "3"
},
"endpoint":{
"endpointId":"appliance-001"
},
"payload":{ }
}
}
ErrorResponse
何らかの理由によりユーザーのリクエストを完了できない場合、エラー応答を返す必要があります。詳細については、Alexa.ErrorResponseを参照してください。
その他のサンプルコード
リクエストと応答のサンプルについては、AlexaスマートホームのGitHubリポジトリで以下を参照してください。
関連インターフェース
インターフェース | 説明 |
---|---|
Alexa.Speaker | ボリュームを連続した範囲で設定するメッセージです。 |