Developer Console
Ti ringraziamo per la visita. Questa pagina è per il momento disponibile solo in inglese.

Alexa.PlaybackController Interface (VSK Fire TV)

When users make transport control utterances (e.g., Stop, Rewind, Play, etc.), the Alexa.PlaybackController interface sends transport control directives (Pause, Play, Stop, Resume, Next, Previous, FastForward, Rewind, StartOver) to provide instructions for controlling media.

Utterances for Transport Controls Directives

Alexa sends transport control directives to your Lambda when users say the following utterances.

Feature Sample Utterances Expected Response Version
Pause

pause

pause

pausier <DeviceLocation> pausier auf? <DeviceType>

pause auf? <DeviceLocation>? <DeviceBrand>

pausier <AppName>

pausier überall

pause / mets sur pause

pause / mets sur pause

metti in pausa / voglio mettere in pausa / posso mettere in pausa

pausa

ポーズ 一旦停止 一旦止めて<Anaphor>で一時停止<AppName>を一旦停止<DeviceLocation>の<DeviceBrand>をポーズして<DeviceLocation>の<DeviceType>を一時停止<DeviceBrand>をポーズして<DeviceType>を一旦停止して

pausar/interromper

pause रोको एक second रुक जाओ एक second wait करना एक second pause हो जाओ ठहरना ज़रा थम जा freeze<Anaphor> को रोक दो<AppName> को pause कर दो मेरे <DeviceLocation> <Device> को pause करना मेरे <DeviceLocation>

<DeviceType> को pause करना<DeviceLocation> पे/पर Device को रोक दो ज़रा

The media pauses, similar to pressing the Pause button on your web player or remote control.

1.0

Play

Play

spiel auf? <DeviceBrand>

spiel auch? auf <DeviceType> <DeviceBrand>?

spiel hier auch

spiel etwas anderes

joue

joue

riproduci /metti / fai partire

pon

reproduce

<SportsTeam>の<Event>を再生して<Country>で<SortType>のやつかけて<Country>で<Date><SortType>のやつ流して<ListPosition>の<Anaphor>再生<Country>の<City>で<SortType>のやつストリームして<City>で<SortType>のやつ再生して<League>の<Event>かけて<MediaPlayer>で<AppName>を再生して<ActiveUserTrigger><SortType>を再生して<SportsTeam>対<SportsTeamOpponent>の<Event>をかけて<Version>の<League>の<Event>をストリームして<Sport>の<Event>を再生して<ActiveUserTrigger><DeviceBrand>でストリームして<DeviceBrand>でかけて<DeviceLocation>の<DeviceBrand>で流して

tocar/assistir/reproduzir 

<SportsTeam> का <Event> लगा/चला दो <ActiveUserTrigger> <DeviceBrand> पर लगाओ/चलाओ <Country> में जो <SortType> है लगाओ/चलाओ <Country> से <Date> के <SortType> लगा/बजा देना <Anaphor> <Device> पर बजाएँ/लगाएँ <ListPosition> <Anaphor> लगा/बजा दीजिये <Country> के <City> में <SortType> है बजाओ/लगाओ <League> <Event> लगा/बजा दीजिये <Anaphor> play करो <ActiveUserTrigger> <Date> ही के <SortType> बजाओ <SportsTeam> versus <SportsTeamOpponent> का Event लगा दे <League> <Event> का <Version> चलाओ <Anaphor> <ActiveUserTrigger> <Device> पर लगा दो <ListPosition> बजा दो <Sport> <Event> लगाइए/बजाइए <Date> <Anaphor> play करो <DeviceLocation> पे <DeviceBrand> बजाओ/लगाओ

The media plays, similar to pressing the Play button on your web player or remote control.

1.0

Stop

stop

stopp

halt an

hör auf

stopp <DeviceLocation>

stopp <DeviceBrand>

stopp <DeviceType>

stoppe auf dem <DeviceLocation> <DeviceBrand>

arrête / stop / stoppe

arrête / stop / stoppe

stop / ferma / spegni / smetti / basta / stoppa 

para

ストップ/して とめて 停止して もういい もういいや もういいよ もういいです 黙れ 中止 中止して 終了/して/<Quantifier>止めて<DeviceLocation>での再生を止めて<DeviceLocation>の<DeviceBrand>での再生をストップ<DeviceBrand>の再生止めて<DeviceType>をとめて<AppName>を終了<Anaphor>止めて

parar

चुप हो जाओ/बस कर/quiet/चुप/शांत/शांति/shush/मुँह बंद करो stop <Anaphor> बंद करो/रोको <Anaphor> <Anaphor> stop/बंद करो/रोको <Anaphor> <MediaType> बंद करना stop <AppName> <AppName> बंद stop <Device> <Device> रोको stop <LocationNonSpecificQuantity> <LocationNonSpecificQuantity> stop/रोको stop <DeviceLocation> <DeviceLocation> stop/रोको stop <MediaType> <MediaType> stop/रोको

The media stops, similar to pressing the Stop button on your web player or remote control.

1.0

Resume

Resume

fortsetzen

das fortsetzen

Not supported

Not supported

riprendi

continúa

再開して

continuar/ continue/continua

जारी रखो

resume करो

The media resumes play, similar to pressing the Play button on your web player or remote control.

1.0

Start over

Start over

neu starten

spiel vom anfang

start von vorn

von anfang an abspielen

von vorne auf <DeviceBrand> abspielen

beginne erneut

noch mal von vorne

noch einmal beginnen

recommence

recommence

ricomincia

empieza de nuevo

vuelve a empezar

comienza de nuevo

vuelve a iniciar

vuelve a comenzar

最初から始めて

começar/começa/comece de novo

फिर से चलाओ

फिर से शुरू करो

The media starts over, adjusting the seek position back to the beginning of the media.

1.0

Fast Forward

Fast Forward

spul vor

spul auf? <AppName> vor

avance

avance

fast forward

manda avanti / vai avanti / avanti veloce

adelanta

<AppName>早送り<MediaType>を早送りして

avançar/ ir para frente

<AppName> पर थोड़ा आगे कर दो<AppName> में fast forward करें<Anaphor> आगे/forward करनाfast forward करो<Anaphor> आगे करना ज़रा<Anaphor> वाले को आगे बढ़ाओ

The media fast-forwards 10 seconds.

1.0

Rewind

Rewind

spul zurück

spul <AppName> zurück

spul auf? <DeviceBrand> zurück spul <DeviceBrand> <Duration> zurück

rembobine

rewind

rembobine

vai indietro / mandalo indietro / indietro veloce / torna indietro

rebobina

巻き戻して

<AppName>巻き戻して<MediaType>巻き戻し

<DeviceLocation>の<DeviceType>巻き戻し

voltar/retroceder/rebobinar

थोड़ा reverse/rewind/पीछे करोrewind<AppName> को rewind करो<Anaphor> reverse/rewind/पीछे करो<DeviceLocation> के <Device> को rewind करना

The media rewinds 10 seconds.

1.0

Previous

Previous

vorherige

vorheriges

zurück

eins zurück

geh zurück

geh zum vorherigen

vorheriges auf dem <DeviceLocation>? <DeviceBrand>

spring/geh zurück/nach hinten auf <AppName>

vorheriges auf <DeviceLocation> <DeviceType>

vorheriges video/kanal auf <DeviceLocation> <DeviceType>

überall vorheriges

auf allen <DeviceType> vorheriges

précédent(e)

précédent(e)

ritorna al precedente / vai indietro di uno / precedente / torna indietro / indietro

anterior

previous/पीछे/पिछला/पिछलीprevious/पीछे/पिछला/पिछली वाली recipe <VisualModeTrigger><Anaphor> वापस जाओprevious/पीछे/पिछला/पिछली <Anaphor> पर वापिस जाओ पिछला वाला <Episode><Anaphor> पहला वाला <Episode> पर जानाprevious <LocationNonSpecificQuantity><LocationNonSpecificQuantity> previous/पीछे/पिछला/पिछली वाला लगाओ<DeviceBrand> पे पिछलाprevious/पीछे/पिछला/पिछली वाला <DeviceBrand><Anaphor> <DeviceBrand> पर previous/पीछे/पिछला/पिछली वाला<DeviceLocation> के <DeviceBrand> पर पिछला वाला<AppName> में पिछली वाली पर वापस जाओprevious/पीछे/पिछला/पिछली वाला <AppName> पर जा<ActiveUserTrigger> <Quantifier> <DeviceType> में पीछे जाओ पिछला <MediaType> play करो

The previous episode plays. If this isn't possible, the user is taken to whatever was earlier in the current playlist.

1.0

Next

Next

nächste

nächstes

das nächste

spring/geh vor

spring/geh vorwärts vor

überspring das

eins weiter/vorwärts

weiter

spring nach vorn

spring nach vorn auf <AppName>/<DeviceBrand>

nächstes im <DeviceLocation>

nächstes auf <DeviceLocation>? <DeviceType>/<DeviceBrand>

gib mir das nächste von <AppName>

nächstes auf allen <DeviceType>

prochain(e)

suivant(e)

next

prochain(e)

suivant(e)

next

prossima / seguente / avanti / salta / successivo

siguiente

salta

muestra el siguiente

siguiente en el sonos

próxima en el jardín

次 スキップ 次に行って<DeviceLocation>で次に行って<DeviceLocation>の<DeviceBrand>で次に行って<LocationNonSpecificQuantity>で次を再生<Episode>を再生して<VideoName>の<Episode>を再生<DeviceBrand>で再生

próximo/próxima

<GroupDeviceBrand> <HomeAutomationType> पर अगला लगाओ<GroupDeviceBrand> पर अगला लगाओ<GroupDeviceBrand> वाले <HomeAutomationType> पर अगला चलाना<AppName> पर इसके बाद वाला दो<AppName> पर मुझे next वाला दे देनाnext recipe अगली recipe<DeviceLocation> पर इसके बाद वाला दो<LocationNonSpecificQuantity> अगला चलाओ अगला/next <Episode> play करो<DeviceLocation> पर DeviceBrand अगला वाला दो

The next episode plays. If this isn't possible, the user is taken to whatever is next in the current playlist.

1.0

As with other directives, when you receive a Discover directive, you must specify the PlaybackController capabilities that your video skill supports.

Handling PlaybackController Directives

There are several types of directives that the PlaybackController interface sends, each described in the following sections.

Pause Directives

After saying "Alexa, watch Interstellar," say "Alexa, pause." You will see this directive in your Lambda. This should take the same action as if the user had pressed the "pause" button on the remote.

Example

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "Pause",
      "messageId": "abc-123-def-456",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {

      }
    },
    "payload": {}
  }
}

Play Directives

After saying "Alexa, watch Interstellar," say "Alexa, pause." Then, say "Alexa, play." You will see this directive in your Lambda. This should take the same action as if the user had pressed the "play" button on the remote.

Example

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "Play",
      "messageId": "abc-123-def-456",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {
      }
    },
    "payload": {
    }
  }
}

Stop Directives

Request to stop playback of audio or video content.

Example

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "Stop",
      "messageId": "abc-123-def-456",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {

      }
    },
    "payload": {
    }
  }
}

Resume Directives

After saying "Alexa, watch Interstellar," say "Alexa, pause." Then, say "Alexa, resume." You will see this directive in your Lambda. This should take the same action as if the user had unpaused playback through their remote (that is, pressing the "play" button after having already paused playback earlier).

Next Directives

While watching content, say "Alexa, next." This command should take the user to the next episode. If that's not possible, it should take the user to the next related video content that you choose to show the viewer (or whatever's next in the playlist you choose to use).

Example

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "Next",
      "messageId": "abc-123-def-456",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {

      }
    },
    "payload": {
    }
  }
}

Previous Directives

While watching content, say "Alexa, previous." This command should take the user to the previous episode. If that's not possible, take the user to whatever was earlier in the playlist you choose to use.

Example

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "Previous",
      "messageId": "abc-123-def-456",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {

      }
    },
    "payload": {
    }
  }
}

Fast-Forward Directives

When a user says "Alexa, fast forward," fast-forward playback by 30 seconds. Do not take the user to a fast-forward screen with a slowly moving cursor as if they were fast forwarding via the remote. We do not want to put the user in a position of having to say "Alexa, play" after having already requested to fast-forward via voice. Our user research has shown that users prefer to simply fast forward 30 seconds and resume playback automatically when they use this command. If they want to fast forward more, they can use the SeekController Directives.

Example

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "FastForward",
      "messageId": "abc-123-def-456",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {

      }
    },
    "payload": {
    }
  }
}

Rewind Directives

When a user says "Alexa, rewind," rewind playback by 30 seconds. Do not take the user to a rewind screen with a slowly moving cursor as if they were rewinding via the remote. We do not want to put the user in a position of having to say "Alexa, play" after having already requested to rewind via voice. Our user research has shown that users prefer to simply rewind 30 seconds and resume playback automatically when they use this command. If they want to rewind more, they can use the SeekController Directives.

Example

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "Rewind",
      "messageId": "c8d53423-b49b-48ee-9181-f50acedf2870",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {

      }
    },
    "payload": {
    }
  }
}

StartOver Directives

A request to start playback from the beginning of the audio or visual content.

Example

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "StartOver",
      "messageId": "abc-123-def-456",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {

      },
      "payload": {}
    }
  }
}

Example Response

Send a response back to Alexa when you receive a transport control directive from the PlaybackController interface.

Example Response

{
 "context": {
   "properties": []
 },
 "event": {
   "header": {
     "messageId": "abc-123-def-456",
     "namespace": "Alexa",
     "name": "Response",
     "payloadVersion": "3"
   },
   "endpoint":{
      "endpointId":"VSKTV"
   },
   "payload":{ }
}
}

Declaring Capability Support for this Interface

To indicate that your video skill supports the Alexa.PlaybackController interface, you must indicate support for it in your response to the Discover directive sent through the Alexa.Discovery interface. More details are provided in Alexa.Discovery.

Error Response

If you cannot complete the customer request for some reason, reply with an error. See Error Handling for more details.

Additional Sample Code

See the sample request and response messages in the Alexa smart home GitHub repo: PlaybackController.