Alexa.SeekControllerインターフェース


Alexa.SeekControllerインターフェース

「アレクサ、5分早送りして」や「アレクサ、60秒早送りして」などと、特定の時間だけ早送りや巻き戻しをするようにユーザーが発話すると、Alexa.SeekControllerインターフェースはAdjustSeekPositionディレクティブをLambdaに送信します。このディレクティブは、特定の時間が情報として含まれているという点で、PlaybackControllerインターフェースによる早送りおよび巻き戻し操作とは異なります。

SeekControllerインターフェースから送信されるディレクティブは、PlaybackControllerインターフェースによる早送りおよび巻き戻し操作とは異なることに注意してください。SeekControllerディレクティブには、特定のオフセット時間の情報が含まれています。

AdjustSeekPositionディレクティブの発話

ユーザーが以下の発話を行うと、AlexaはLambdaにAdjustSeekPositionディレクティブを送信します。

機能 サンプル発話 想定されるレスポンス
早送り(時間指定)

Fast forward thirty seconds

<duration> vorspulen

<duration> vor

um <duration> vorspulen

Avance de 30 secondes

avance (de) trente secondes

manda avanti di trenta secondi

vai avanti di trenta secondi

avanza treinta segundos

avanza treinta segundos

avánzale treinta segundos

avánza le treinta segundos

adelanta treinta segundos

adelántale treinta segundos

adelánta le treinta segundos

{sec} 秒早送り

{sec} 秒早送りして

リクエストされた時間分だけメディアが早送りされます。

巻き戻し(時間指定)

Rewind forty seconds

<duration> zurückspulen

<duration> zurück

um <duration> zurückspulen

Recule de 30 secondes

Reviens en arrière de 30 secondes

recule (de) trente secondes

rewind (de) trente secondes

Reviens en arrière de 30 secondes

vai indietro di quaranta secondi

manda indietro di quaranta secondi

rebobina cuarenta segundos

retrocede treinta segundos

devuelve treinta segundos

retrocédele treinta segundos

devuélvele treinta segundos

retrocéde le treinta segundos

devuélve le treinta segundos

{sec} 秒巻き戻し

{sec} 秒巻き戻して

リクエストされた時間分だけメディアが巻き戻されます。

ほかのディレクティブの場合と同様に、Discoverディレクティブを受信したら、ビデオスキルでサポートしているSeekControllerディレクティブを指定する必要があります。

AdjustSeekPositionディレクティブの処理

AdjustSeekPositionディレクティブでは、deltaPositionMilondsというプロパティがpayloadに含まれます。deltaPositionMilondsには、正の値(ストリーム内を前方にシークする場合)または負の値(ストリーム内を後方にシークする場合)を指定できます。

たとえば、「5分スキップして」と発話した場合、deltaPositionMillisecondsの値は300000になり、「10分巻き戻して」と発話した場合、deltaPositionMilliseconds値は-600000になります。

つまり、負の値は巻き戻し、正の値は早送りを示します。指定されたオフセット分だけ先に進んで、ユーザーのリクエストを必ず満たしてください。

AdjustSeekPositionディレクティブの例

AdjustSeekPositionディレクティブの例を以下に示します。

{
    "directive": {
        "endpoint": {
            "cookie": {},
            "endpointId": "VSKTV",
            "scope": {
                "token": "<OAuth2ベアラートークン>",
                "type": "BearerToken"
            }
        },
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
            "messageId": "4bef62cc-208d-4382-a43e-ce9e4825c1cb",
            "name": "AdjustSeekPosition",
            "namespace": "Alexa.SeekController",
            "payloadVersion": "3"
        },
        "payload": {
            "deltaPositionMilliseconds": 300000
        }
    }
}

ペイロードの説明

payloadのプロパティについて次の表で説明します。

ペイロードの説明
フィールド 説明 データ型
deltaPositionMilliseconds
(必須)
メディアプレーヤーでの再生時にシークする相対的時間(ミリ秒単位)です。現在のシーク位置から前方または後方にシークするために、正または負の整数値を使用できます。指定できる値は、-86400000から86400000までの整数値(-24~+24時間)です。シーク先の位置がメディアアイテムの視聴時間外になる場合は、deltaPositionMillisecondsが負の値であるか正の値であるかに応じて、それぞれ視聴時間の先頭または末尾に設定されます。

例: 86400000

整数

レスポンスの例

AdjustSeekPositionディレクティブを受け取ってリクエストを実行したら、位置の状態をミリ秒単位で示すレスポンスをAlexaに送り返します。次の例に示すように、payloadにはnameおよびvalueプロパティが含まれています。positionMillisecondsは、シーク先の絶対位置を-86400000から86400000までのミリ秒数で表します。

レスポンスの例

{
    "context": {
        "properties": []
    },
    "event": {
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
            "messageId": "eab7fe6e-f65d-4dbb-aeea-5bae61439f4d",
            "name": "Response",
            "namespace": "Alexa",
            "payloadVersion": "3"
        },
        "payload": {
            "properties": [
                {
                    "name": "positionMilliseconds",
                    "value": 300000
                }
            ]
        }
    }
}

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

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

エラーレスポンス

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