Alexa.RecordController Interface (VSK Fire TV)
When users make utterances about starting or stopping content recording, the Alexa.RecordController
interface sends StartRecording
and StopRecording
directives to your Lambda. These directives should only be implemented if your app can start recording immediately.
For devices that can schedule content to be recorded, see VideoRecorder Directives. Note that recording directives are available only for Fire TV, not for multimodal devices.
- Utterances for Recording Directives
- StartRecording Directives
- StopRecording Directives
- Properties and Events
- Example Response
- Declaring Capability Support for this Interface
- Error Response
Utterances for Recording Directives
When users say the following utterances, Alexa sends a Recording directive to your Lambda. To target your video skill with the utterance, make your video skill's name explicit in the request, such as "Play X Show on XYZ App."
Feature | Sample Utterances | Expected Response |
---|---|---|
Record this |
Record this Nimm das auf aufnehmen enregistres (la video, le clip) enregistres ça enregistres ceci registra questo registralo graba esto graba esto 録画 録画して gravar isto grave isto record this इसे record करो |
The media that is playing starts to be recorded. |
Record title |
Record breaking bad <title> aufnehmen Nimm <title> auf enregistre breaking bad enregistre breaking bad registra breaking bad <House, The Office, Sneaky Pete> graba breaking bad graba breaking bad {title} を録画して {title} を撮って gravar {title} grave {title} {title} record करो record {title} |
The requested media title is set to be recorded. |
Stop recording |
Stop recording Stoppe die Aufnahme Aufnahme stoppen arrêtes l' enregistrement arrêtes d' enregistrer arrêtes l' enregistrement arrêtes d' enregistrer interrompi la registrazione ferma la registrazione para de grabar para la grabación para de grabar párale de grabar 録画止めて 録画やめて pare de gravar parar de gravar stop recording recording stop करो |
Recording for the title stops. |
StartRecording Directives
StartRecording
directives are sent to your Lambda when users request to start recording the currently playing content.
Example: "Alexa, start recording"
{
"header": {
"payloadVersion": "3",
"messageId": "abc-123-def-456",
"namespace": "Alexa.RecordController",
"name": "StartRecording",
"correlationToken": "4d64dccb-bebc-4990-990a-abb922fd285d"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "access-token-from-skill"
},
"endpointId": "video-endpoint-001",
"cookie": {}
},
"payload": {
}
}
StopRecording Directives
StopRecording
directives are used to stop the current recording operation.
Example: "Alexa, stop recording"
{
"directive": {
"header": {
"namespace": "Alexa.RecordController",
"name": "StopRecording",
"messageId": "abc-123-def-456",
"correlationToken": "4d64dccb-bebc-4990-990a-abb922fd285d",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "access-token-from-skill"
},
"endpointId": "video-endpoint-001",
"cookie": {}
},
"payload": {
}
}
}
Properties and Events
For this capability, you must reply synchronously, which means you send a response to Alexa from the Lambda function. When you send a Response
, you should include the state of the interface properties in the context
of the message.
Reportable Properties
Property Name | Type | Description |
---|---|---|
RecordingState |
RecordingState | Indicates whether the endpoint is recording or not. Either RECORDING or NOT_RECORDING . |
Example RecordingState:
{
"name": "recordingState",
"value": "RECORDING"
}
Example Response
When a request to start or stop recording completes successfully, you should respond with an Alexa.Response
with the status of RecordingState
in the context of the message.
{
"context": {
"properties": [{
"name": "RecordingState",
"namespace": "Alexa.RecordController",
"timeOfSample": "2017-5-6T16:20:50.52Z",
"uncertaintyInMilliseconds": 0,
"value": "RECORDING"
}]
},
"event": {
"header": {
"correlationToken": "4d64dccb-bebc-4990-990a-abb922fd285d",
"messageId": "abc-123-def-456",
"name": "Response",
"namespace": "Alexa",
"payloadVersion": "3"
},
"payload": {}
}
}
No contents are required or allowed in the payload
.
Declaring Capability Support for this Interface
To indicate that your video skill supports the Alexa.RecordController
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.