Home > Alexa > Alexa Skills Kit

Alexa.StepSpeaker Interface

overview

The StepSpeaker interface provides directives that are used to adjust the volume and mute or unmute a capable entertainment device.

Implement this interface for devices that make incremental discrete step adjustments to volume, where the range of volume isn’t known. For example, StepSpeaker can adjust volume by a step of 5, but couldn’t adjust the volume to 50 percent. If instead, your device can set or adjust the volume based on any continuous value in a range, implement Speaker.

Directives

The following table shows the directive support depending on the type of skill you are implementing.

Directive Skill Type
AdjustVolume Smart Home
SetMute Smart Home

AdjustVolume

A request for a relative volume adjustment. The AdjustVolume directive is always relative to the current volume setting and can be positive to increase volume, or negative to reduce volume.

“Alexa, lower the volume on device

“Alexa, volume up 20 on device

Example Request:

{
  "directive": {
    "header": {
      "namespace": "Alexa.StepSpeaker",
      "name": "AdjustVolume",
      "messageId": "c8d53423-b49b-48ee-9181-f50acedf2870",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "some-access-token"
      },
      "endpointId": "device-001",
      "cookie": {

      }
    },
    "payload": {
      "volumeSteps": 20,
      "volumeStepsDefault": false
    }
  }
}

Payload Details

Field Description Type Required
volumeSteps A number that indicates how much the volume should be incremented or decremented. integer ranging from -100 to 100. Yes
volumeStepsDefault A flag that indicates whether the value for volumeSteps was explicitly specified by the user. If false, the value was explicitly specified. If true, the value is a default value. boolean Yes

SetMute

A request to mute or unmute an endpoint.

Example Request:

{
  "directive": {
    "header": {
      "namespace": "Alexa.StepSpeaker",
      "name": "SetMute",
      "messageId": "c8d53423-b49b-48ee-9181-f50acedf2870",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "some-access-token"
      },
      "endpointId": "device-001",
      "cookie": {

      }
    },
    "payload": {
      "mute": true
    }
  }
}

Payload Details

Field Description Type Required
mute true to indicate the endpoint should be muted. False to indicate that the endpoint should be unmuted. boolean Yes

Properties and Events

Reportable Properties

Property Name Description
None The Alexa.StepSpeaker interface does not define any reportable properties.

Alexa.Response Event

Send an Alexa.Response event when AdjustVolume or a SetMute directive is successfully handled.

Alexa.Response example

{
  "context": {
    "properties": [
    ]
  },
  "event": {
    "header": {
      "messageId": "30d2cd1a-ce4f-4542-aa5e-04bd0a6492d5",
      "name": "Response",
      "payloadVersion": "3"
    },
    "payload": {
    }
  }
}
Interface Description
Alexa.Speaker Messages for setting volume on a continuous range.