Alexa.VideoRecorderインターフェース
Alexa.VideoRecorder
インターフェースは、指定したビデオの検索と録画予約、スケジュール録画のキャンセル、DVRの録画容量の照会を行うのに使用するメッセージを提供します。現在再生中のコンテンツを録画するには、代わりに Alexa.RecordControllerインターフェースを実装してください。
VideoRecorder
インターフェースでサポートされているロケールについては、機能インターフェースの一覧を参照してください。
ディレクティブ
このインターフェースのディレクティブはそれぞれ、検索および録画するコンテンツを指定するエンティティオブジェクトを含みます。詳細については、ビデオコンテンツのエンティティタイプを参照してください。
SearchAndRecord
検索条件のセットを渡して指定したビデオの検索と録画を行うリクエストです。SearchAndRecord
ディレクティブが正常に処理されると、SearchAndRecord.Responseイベントを使って応答します。
ユーザー: Alexa, record the new episode of the Grand Tour next week.
例: 来週のスーパーGTを録画する
{
"directive": {
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "some-access-token"
},
"endpointId": "endpoint-001",
"cookie": {}
},
},
"header": {
"correlationToken": "dFMb0z+PgpgdDmluhJ1LdjCc8ptlAKulUj90jSqg==",
"messageId": "708758c5-d1ca-4022-85ba-517f64b07a6c",
"name": "SearchAndRecord",
"namespace": "Alexa.VideoRecorder",
"payloadVersion": "3"
},
"payload": {
"entities": [
{
"externalIds": {
"gracenote": "MV000000000001"
},
"type": "Video",
"value": "スーパーGT"
}
],
"quantifier": {
"name": "NEW"
},
"timeWindow": {
"end": "2017-09-07T23:59:00.00Z",
"start": "2017-09-01T00:00:00.00Z"
}
}
}
}
ペイロードの詳細
フィールド | 説明 | タイプ | 必須 |
---|---|---|---|
entities |
このリクエストに関連付けられたエンティティオブジェクトの配列です | エンティティオブジェクトの配列 | ◯ |
quantifier |
録画の種類の修飾子です。録画を新規作成する、指定したタイトルを持つ次の録画またはすべてを録画するなどを指定します。 | オブジェクト | ✕ |
quantifier.name |
ユーザーが指定した修飾子です。有効な値は、ALL 、NEW 、NEXT です。 |
文字列(修飾子の値を参照) | ✕ |
timeWindow |
このリクエストに関連付けられた時間を表す時間オブジェクトです | オブジェクト | ✕ |
timeWindow.start |
timeウィンドウの開始時刻です。 | ISO 8601形式YYYY-MM-DDThh:mm:ssZに則ったRFC 3339プロファイルを使用する文字列です。 | ✕ |
timeWindow.end |
timeウィンドウの終了時刻です。 | ISO 8601形式YYYY-MM-DDThh:mm:ssZに則ったRFC 3339プロファイルを使用する文字列です。 | ✕ |
そのほかの例: 午後5時にNHKを録画する
{
"directive": {
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "some-access-token"
},
"endpointId": "endpoint-001",
"cookie": {}
},
},
"header": {
"correlationToken": "dFMb0z+PgpgdDmluhJ1LdjCc8ptlAKulUj90jSqg==",
"messageId": "1b391648-5346-4bf5-9444-6f14e749b4e3",
"name": "SearchAndRecord",
"namespace": "Alexa.VideoRecorder",
"payloadVersion": "3"
},
"payload": {
"entities": [
{
"entityMetadata": {
"channelCallSign": "JOAK-DTV",
"channelNumber": 1
},
"externalIds": {
"gracenote": "MV000000099001"
},
"type": "Channel",
"value": "NHK"
}
],
"timeWindow": {
"start": "2016-09-01T00:17:00.00Z"
}
}
}
}
CancelRecording
指定したタイトルの録画予約をキャンセルするリクエストです。このリクエストによって、指定された録画、またはリクエストされたエンティティに最も一致するタイトルの録画がキャンセルされます。
ユーザー: Alexa, stop recording title.
ユーザー: Alexa, cancel recording of next week's episode of The Grand Tour.
例: 来週のスーパーGTの録画をキャンセルする
{
"directive": {
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "some-access-token"
},
"endpointId": "endpoint-001",
"cookie": {}
},
},
"header": {
"correlationToken": "dFMb0z+PgpgdDmluhJ1LdjCc8ptlAKulUj90jSqg==",
"messageId": "d4a5a7a6-a45a-4e3f-b55a-f583c822384b",
"name": "CancelRecording",
"namespace": "Alexa.VideoRecorder",
"payloadVersion": "3"
},
"payload": {
"entities": [
{
"externalIds": {
"gracenote": "MV000000000001"
},
"name": "スーパーGT",
"type": "Video"
}
],
"timeWindow": {
"end": "2017-09-07T23:59:00+00:00",
"start": "2017-09-01T00:00:00+00:00"
}
}
}
}
ペイロードの詳細
フィールド | 説明 | タイプ | 必須 |
---|---|---|---|
entities |
このリクエストに関連付けられたエンティティオブジェクトの配列です | エンティティオブジェクトの配列 | ◯ |
quantifier |
キャンセルリクエストの修飾子です。次の録画予約、すべての録画予約のいずれかです。 | オブジェクト | ✕ |
quantifier.name |
ユーザーに指定された「次の録画予約」などの修飾子名です。 | 文字列(修飾子の値を参照) | ✕ |
timeWindow |
このリクエストに関連付けられた時間を表す時間オブジェクトです | オブジェクト | ✕ |
timeWindow.start |
timeウィンドウの開始時刻です。 | ISO 8601形式YYYY-MM-DDThh:mm:ssZに則ったRFC 3339プロファイルを使用する文字列です。 | ✕ |
timeWindow.end |
timeウィンドウの終了時刻です。 | ISO 8601形式YYYY-MM-DDThh:mm:ssZに則ったRFC 3339プロファイルを使用する文字列です。 | ✕ |
DeleteRecording
録画を削除するリクエストです。このリクエストによって、指定されたタイトル、またはリクエストされたエンティティに最も一致するタイトルの録画が削除されます。
ユーザー: Alexa, delete the recording of The Grand Tour.
例: スーパーGTの録画を削除する
{
"directive": {
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "some-access-token"
},
"endpointId": "endpoint-001",
"cookie": {}
},
},
"header": {
"correlationToken": "dFMb0z+PgpgdDmluhJ1LdjCc8ptlAKulUj90jSqg==",
"messageId": "97b8ce2a-87f6-4c89-9b28-00d716e337ff",
"name": "DeleteRecording",
"namespace": "Alexa.VideoRecorder",
"payloadVersion": "3"
},
"payload": {
"entities": [
{
"externalIds": {
"gracenote": "MV000000099001"
},
"name": "スーパーGT",
"type": "TV_Show"
}
],
"quantifier": {
"name": "ALL"
},
"timeWindow": {
"end": "2016-09-07T23:59:00.00Z",
"start": "2016-09-01T00:00:00.00Z"
}
}
}
}
ペイロードの詳細
フィールド | 説明 | タイプ | 必須 |
---|---|---|---|
entities |
このリクエストに関連付けられたエンティティオブジェクトの配列です | エンティティオブジェクトの配列 | ◯ |
quantifier |
削除リクエストの修飾子です。指定されたタイトルのすべて、視聴済みのみのいずれかを指定します。 | オブジェクト | ✕ |
quantifier.name |
ユーザーに指定された修飾子名です。 | 文字列の列挙値(修飾子の値を参照) | ✕ |
timeWindow |
このリクエストに関連付けられた時間を表す時間オブジェクトです | オブジェクト | ✕ |
timeWindow.start |
timeウィンドウの開始時刻です。 | ISO 8601形式YYYY-MM-DDThh:mm:ssZに則ったRFC 3339プロファイルを使用する文字列です。 | ✕ |
timeWindow.end |
timeウィンドウの終了時刻です。 | ISO 8601形式YYYY-MM-DDThh:mm:ssZに則ったRFC 3339プロファイルを使用する文字列です。 | ✕ |
修飾子名の値
以下の表は、有効な修飾子名の値を示しています。
値 | 説明 |
---|---|
ALL |
指定したエンティティに一致するすべてのコンテンツです。 |
NEXT |
指定したエンティティに一致するコンテンツのうち、最も近い時間に放送されるもの、または指定した時間の後で最も近いもの。 |
NEW |
指定したエンティティに一致するコンテンツのうち、初めて放送されるもの。 |
WATCHED |
エンティティに一致するコンテンツのうち、既に視聴済みのすべてのコンテンツです。 |
プロパティとイベント
出力可能なプロパティ
プロパティ名 | タイプ | 説明 |
---|---|---|
isExtendedRecordingGUIShown |
ブール値 | ユーザーに表示されるGUIの種類を示します。拡張録画GUIが表示される場合はtrue 、拡張録画GUIが表示されない場合はfalse です。 |
storageLevel |
整数 | 録画用デバイスで既に使用されているストレージ容量をパーセンテージで表します。 |
SearchAndRecord.Response
録画リクエストが正常に処理されると、SearchAndRecord.Response
イベントを使って応答する必要があります。メッセージのペイロードで録画ステータス、メッセージの内容でisExtendedRecordingGUIShown
、storageLevel
のプロパティ値を指定します。
SearchAndRecord.Responseの例
{
"context": {
"properties": [
{
"name": "isExtendedRecordingGUIShown",
"namespace": "Alexa.VideoRecorder",
"timeOfSample": "2017-5-6T16:20:50.52Z",
"uncertaintyInMilliseconds": 0,
"value": false
},
{
"name": "storageLevel",
"namespace": "Alexa.VideoRecorder",
"timeOfSample": "2017-5-6T16:20:50.52Z",
"uncertaintyInMilliseconds": 0,
"value": 75
}
]
},
"event": {
"header": {
"correlationToken": "dFMb0z+PgpgdDmluhJ1LdjCc8ptlAKulUj90jSqg==",
"messageId": "aa6fd930-ce42-498d-a225-3fb94df83853",
"name": "Alexa.SearchAndRecordResponse",
"namespace": "Alexa.VideoRecorder",
"payloadVersion": "3"
},
"payload": {
"recordingStatus": "SCHEDULED"
}
}
}
フィールド | 説明 | タイプ | 必須 |
---|---|---|---|
recordingStatus |
録画ステータスを示す文字列の列挙値です。 | 文字列次のいずれかを指定します。 SCHEDULED、STARTED | ◯ |
ErrorResponse
何らかの理由によりユーザーのリクエストを完了できない場合、エラー応答を返す必要があります。
- ビデオ固有のエラーについては、Video.ErrorResponseを参照してください。
- 認証や接続の問題など、一般的なエラーについては、Error.Responseを参照してください。
関連インターフェース
インターフェース | 説明 |
---|---|
Alexa.RecordController | コンテンツの録画を開始または停止するディレクティブを定義します。 |