開発者コンソール

Alexa.VideoRecorderインターフェース


Alexa.VideoRecorderインターフェース

「アレクサ、新しいエピソードを録画して」などと、録画を管理するための発話をユーザーが行うと、Alexa.VideoRecorderインターフェースはSearchAndRecordCancelRecordingDeleteRecordingのいずれかのディレクティブをLambdaに送信します。これらのディレクティブは、コンテンツの予約録画や録画したコンテンツの管理に使用します。アプリで録画の予約が可能な場合にのみ実装してください。

録画開始および停止のディレクティブについては、Alexa.RecordControllerディレクティブを参照してください。なお、VideoRecorderインターフェースから送信されるディレクティブはFire TVでのみ使用可能で、マルチモーダルデバイスでは使用できません。

VideoRecorderディレクティブの発話

ユーザーが以下の発話を行うと、AlexaはVideoRecorderインターフェースのディレクティブ(SearchAndRecordCancelRecordingDeleteRecordingのいずれか)をLambdaに送信します。

機能 サンプル発話 想定されるレスポンス
タイトルの次のエピソードを録画

Record next episode of breaking bad

Nimm die nächste Folge von <title> auf

Nimm die nächste Episode von <title> auf

enregistres le prochain épisode de breaking bad

enregistres le prochain épisode de breaking bad

enregistres la prochaine épisode de breaking bad

registra il prossimo episodio di breaking bad

<House, The Office, Sneaky Pete>

graba el próximo episodio de breaking bad

graba el próximo episodio de breaking bad

{title}の次のエピソードを録画して

{title}の次のエピソードを撮って

gravar o próximo episódio de {title}

grave o próximo episódio de {title}

record {title} next episode

record next episode of {title}

リクエストされたメディアタイトルの次のエピソードを録画するように設定されます。

タイトルの新しいエピソードを録画

Record new episode of breaking bad

Nimm die neue Episode von <title> auf

Nimm die neue Folge von <title> auf

enregistres le nouvel épisode de breaking bad

enregistres le dernier épisode de breaking bad

enregistres le nouvel épisode de breaking bad

enregistres la nouvelle épisode de breaking bad

registra il nuovo episodio di breaking bad

<House, The Office, Sneaky Pete>

graba el episodio nuevo de breaking bad

graba el episodio nuevo de breaking bad

{title}の新しいエピソードを録画して

{title}の新しいエピソードを撮って

gravar o novo episódio de {title}

grave o novo episódio de {title}

record {title} new episode

record new episode of {title}

リクエストされたメディアタイトルの新しいエピソードを録画するように設定されます。

ネットワーク名を録画

Record fox channel

Nimm <network name> auf

<Network name> aufnehmen

enregistres fox

enregistres la chaîne fox

enregistres radio canada

enregistres le poste de radio canada

registra il canale Fox

graba el canal fox

graba el canal fox

{network name}を録画して

{network name}を撮って

gravar {network name}

grave {network name}

record {network name} channel

record {network name}

ネットワーク名を録画するように設定されます。

スポーツのチームを録画

Record seattle seahawks

Nimm das Spiel/die Partie von <sports team> auf

Nimm <sports team> auf

enregistres les bleus

enregistres le match des bleus

enregistres les canadiens

enregistres le match des canadiens

registra la juventus

graba al Madrid

graba a/al/a la/a las/a los {sports team}

graba al América

graba a/al/a la/a las/a los {sports team}

{sports team}を録画して

{sports team}を撮って

gravar {sports team}

grave {sports team}

record {sports team}

{sports team} record करो

リクエストされたスポーツのチームの現在再生中または次回のコンテンツを録画するように設定されます。

<タイトル>の録画をキャンセル

Cancel recording of breaking bad

Brich die Aufnahme von <title> ab

Aufnahme von <title> abbrechen

Aannules l' enregistrement de breaking bad

l' épisode has to always be transcribed as such with a space

annules l' enregistrement de breaking bad

cancelles l' enregistrement de breaking bad

cancella la registrazione di breaking bad

<House, The Office, Sneaky Pete>

cancela la grabación de breaking bad

cancela la grabación de breaking bad

{title} の録画キャンセル

{title} の録画をキャンセルして

cancele a gravação de {title}

cancelar a gravação de {title}

{title} की recording cancel कर दो

{title} वाली recording cancel कर दो

タイトルの録画がキャンセルされます。

<タイトル>の録画を削除

Delete recording of breaking bad

Lösche die Aufnahme von <title>

Aufnahme von <title> löschen

supprimes l' enregistrement de breaking bad

effaces l' enregistrement de breaking bad

supprimes l' enregistrement de breaking bad

effaces l' enregistrement de breaking bad

elimina la registrazione di breaking bad

<House, The Office, Sneaky Pete>

borra la grabación de breaking bad

borra la grabación de breaking bad

{title} の録画を消して

{title} の録画を削除して

delete a gravação de {title}

deletar a gravação de {title}

{title} की recording delete कर दो

{title} वाली recording delete कर दो

タイトルの録画が削除されます。

SearchAndRecordディレクティブ

SearchAndRecordディレクティブは、検索条件のセットを渡して指定したビデオアイテムを検索および録画するために使用されます。SearchAndRecordディレクティブが正常に処理された場合は、SearchAndRecord.Responseイベントで応答します。

例: 「来週『グランドツアー』の新しいエピソードを録画して」

{
    "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": "The Grand Tour"
                }
            ],
            "quantifier": {
                "name": "NEW"
            },
            "timeWindow": {
                "end": "2017-09-07T23:59:00.00Z",
                "start": "2017-09-01T00:00:00.00Z"
            }
        }
    }
}

ペイロードの詳細

フィールド 説明 必須
entities このリクエストに関連付けられたエンティティオブジェクトの配列です。 エンティティオブジェクトの配列
quantifier 録画のタイプを表す修飾子です。指定したタイトルの新規コンテンツを録画するか、次回またはすべてのコンテンツを録画するかを指定します。 オブジェクト ×
quantifier.name ユーザーが指定した修飾子です。有効な値は、ALLNEWNEXTです。 文字列(修飾子名の値を参照) ×
timeWindow このリクエストに関連付けられた時間を表すタイムウィンドウオブジェクトです。 オブジェクト ×
timeWindow.start タイムウィンドウの開始時刻です。 ISO 8601形式(YYYY-MM-DDThh:mm:ssZ)のRFC 3339プロファイルを使用する文字列 ×
timeWindow.end タイムウィンドウの終了時刻です。 ISO 8601形式(YYYY-MM-DDThh:mm:ssZ)のRFC 3339プロファイルを使用する文字列 ×

その他の例: 午後5時にPBSを録画する

{
    "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": "KBTC",
                        "channelNumber": 123
                    },
                    "externalIds": {
                        "gracenote": "MV000000099001"
                    },
                    "type": "Channel",
                    "value": "PBS"
                }
            ],
            "timeWindow": {
                "start": "2016-09-01T00:17:00.00Z"
            }
        }
    }
}

CancelRecordingディレクティブ

CancelRecordingディレクティブは、指定したタイトルの録画予約をキャンセルするために使用されます。このリクエストによって、指定された録画、またはリクエストされたエンティティに最も一致するタイトルの録画がキャンセルされます。

ユーザー: アレクサ、<タイトル>の録画を停止して

ユーザー: アレクサ、「グランドツアー」の来週のエピソードの録画をキャンセル

例: 「グランドツアー」の来週のエピソードの録画をキャンセルする

{
    "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": "The Grand Tour",
                    "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 タイムウィンドウの開始時刻です。 ISO 8601形式(YYYY-MM-DDThh:mm:ssZ)のRFC 3339プロファイルを使用する文字列 ×
timeWindow.end タイムウィンドウの終了時刻です。 ISO 8601形式(YYYY-MM-DDThh:mm:ssZ)のRFC 3339プロファイルを使用する文字列 ×

修飾子名の値

以下の表は、有効な修飾子名の値を示しています。

説明
ALL 指定されたエンティティに一致するすべてのコンテンツです。
NEXT 指定されたエンティティに一致するコンテンツのうち、指定から最も近い時間に放送されるコンテンツ、または指定した時間以降で最も近いコンテンツです。
NEW 指定したエンティティに一致するコンテンツのうち、初めて放送されるコンテンツです。
WATCHED エンティティに一致するコンテンツのうち、既に視聴済みのすべてのコンテンツです。

DeleteRecordingディレクティブ

DeleteRecordingディレクティブは、ユーザーが録画済みコンテンツの削除を依頼した場合にLambdaに送信されます。このディレクティブによって、指定されたタイトル、またはリクエストされたエンティティに最も一致するタイトルの録画が削除されます。

ユーザー: アレクサ、「グランドツアー」の録画を削除して

例: 「グランドツアー」の録画を削除する

{
    "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": "The Grand Tour",
                    "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 タイムウィンドウの開始時刻です。 ISO 8601形式(YYYY-MM-DDThh:mm:ssZ)のRFC 3339プロファイルを使用する文字列 ×
timeWindow.end タイムウィンドウの終了時刻です。 ISO 8601形式(YYYY-MM-DDThh:mm:ssZ)のRFC 3339プロファイルを使用する文字列 ×

修飾子名の値

以下の表は、有効な修飾子名の値を示しています。

説明
ALL 指定されたエンティティに一致するすべてのコンテンツです。
NEXT 指定されたエンティティに一致するコンテンツのうち、指定から最も近い時間に放送されるコンテンツ、または指定した時間以降で最も近いコンテンツです。
NEW 指定したエンティティに一致するコンテンツのうち、初めて放送されるコンテンツです。
WATCHED エンティティに一致するコンテンツのうち、既に視聴済みのすべてのコンテンツです。

レポート可能なプロパティ

プロパティ名 説明
isExtendedRecordingGUIShown ブール型 ユーザーに表示されるGUIのタイプを示します。拡張録画GUIが表示される場合はtrue、拡張録画GUIが表示されない場合はfalseです。
storageLevel 整数 録画用デバイスで既に使用されているストレージ容量をパーセンテージで表します。

SearchAndRecordレスポンス

録画のリクエストが正常に処理された場合は、SearchAndRecord.Responseイベントで応答する必要があります。メッセージのペイロードで録画ステータスを、メッセージのコンテキストでisExtendedRecordingGUIShownstorageLevelのプロパティ値を指定します。

SearchAndRecordレスポンスの例

{
    "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のいずれか)

インターフェース機能に対するサポートの宣言

ビデオスキルがAlexa.VideoRecorderインターフェースをサポートしていることを示すには、Alexa.Discoveryインターフェースを介して送信されたDiscoverディレクティブへのレスポンスで、そのサポートを明示する必要があります。詳細については、Discoveryインターフェースを参照してください。

エラーレスポンス

何らかの理由でユーザーのリクエストを完了できない場合は、エラーレスポンスを返す必要があります。詳細については、エラー処理を参照してください。