PlaybackController 1.0

The PlaybackController interface of the Alexa Voice Service (AVS) exposes a series of events for navigating a playback queue with an on-client button press or GUI control, rather than through a speech request.

Capability assertion

A device can implement PlaybackController 1.0 on its own behalf, but not on behalf of any connected endpoints.

New AVS integrations must assert support through Alexa.Discovery, but AVS continues support for legacy integrations through the Capabilities API.

Sample Object

{
    "type": "AlexaInterface",
    "interface": "PlaybackController",
    "version": "1.0"
}

Events

PlayCommandIssued

The PlayCommandIssued event must be sent when a user starts/resumes playback of a media item using an on-client button press or GUI affordance.

Sample Message

{
    "context": [
        // Use an array of context objects to communicate the
        // state of all client components to Alexa. See Context for details.
    ],   
    "event": {
        "header": {
            "namespace": "PlaybackController",
            "name": "PlayCommandIssued",
            "messageId": "{{STRING}}"
        },
        "payload": {
        }
    }
}

Context

This event requires your product to report the status of all client component states to Alexa in the context object. For additional information see Context.

Header Parameters

Parameter Description Type
messageId A unique ID used to represent a specific message. string

Payload Parameters

An empty payload should be sent.

PauseCommandIssued

Send the PauseCommandIssued event a user presses a button or GUI control to pause playback of a media item. When PauseCommandIssued is sent, the client must wait until it receives a Stop directive before pausing or stopping the media item locally.

Sample Message

{
    "context": [
        // Use an array of context objects that to communicate the
        // state of all client components to Alexa. See Context for details.   
    ],    
    "event": {
        "header": {
            "namespace": "PlaybackController",
            "name": "PauseCommandIssued",
            "messageId": "{{STRING}}"
        },
        "payload": {
        }
    }
}

Context

This event requires your product to report the status of all client component states to Alexa in the context object. For additional information see Context.

Header Parameters

Parameter Description Type
messageId A unique ID used to represent a specific message. string

Payload Parameters

An empty payload should be sent.

NextCommandIssued

The NextCommandIssued event must be sent when an end user skips to the next media item in their playback queue using an on-client button press or GUI affordance. The next media item should play when the client receives a Play directive from Alexa.

Sample Message

{
    "context": [
        // Use an array of context objects that are to communicate the
        // state of all client components to Alexa. See Context for details.   
    ],     
    "event": {
        "header": {
            "namespace": "PlaybackController",
            "name": "NextCommandIssued",
            "messageId": "{{STRING}}"
        },
        "payload": {
        }
    }
}

Context

This event requires your product to report the status of all client component states to Alexa in the context object. For additional information see Context.

Header Parameters

Parameter Description Type
messageId A unique ID used to represent a specific message. string

Payload Parameters

An empty payload should be sent.

PreviousCommandIssued

The PreviousCommandIssued event must be sent when a user skips to the previous media item in their playback queue using an on-client button press or GUI affordance.

Sample Message

{
    "context": [
        // Use an array of context objects to communicate the
        // state of all client components to Alexa. See Context for details.   
    ],     
    "event": {
        "header": {
            "namespace": "PlaybackController",
            "name": "PreviousCommandIssued",
            "messageId": "{{STRING}}"
        },
        "payload": {
        }
    }
}

Context

This event requires your product to report the status of all client component states to Alexa in the context object. For additional information see Context.

Header Parameters

Parameter Description Type
messageId A unique ID used to represent a specific message. string

Payload Parameters

An empty payload should be sent.