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は消音解除です。 |
応答
SetVolume
、AdjustVolume
、または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リポジトリで以下を参照してください。
関連インターフェース
インターフェース | 説明 |
---|---|
Alexa.StepSpeaker | ボリュームを値が連続していない、段階的な設定にするメッセージです。 |