Alexa.RecordController Interface (VSK Fire TV)
The Alexa.RecordController
interface provides directives for recording content and ending the current record operation. Implement this interface for devices that can start recording immediately. For devices that can schedule content to be recorded, see Alexa.VideoRecorder.
For the list of locales that are supported for the RecordController
interface, see List of Capability Interfaces and Supported Locales.
Alexa.RecordController
interface is available for cloudside integration only.Directives
StartRecording
A request to start recording the currently playing content.
User: Alexa, start recording
Example: StartRecording
{
"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
A request to stop the current recording operation.
User: Alexa, stop recording
Example: StopRecording
{
"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. |
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.
Example Response
{
"context": {
"properties": [{
"name": "RecordingState",
"namespace": "Alexa.RecordController",
"timeOfSample": "2017-05-06T16: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": {}
}
}
Payload details
Field | Description | Type | Required |
---|---|---|---|
None | No required or optional fields in the payload. | N/A | N/A |
ErrorResponse
You should reply with an error if you cannot complete the customer request for some reason. See the Error Handling documentation for more information.
Last updated: Jun 09, 2021