開発者コンソール

Alexa.SeekControllerインターフェース


Alexa.SeekControllerインターフェース

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

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

AdjustSeekPositionディレクティブの発話

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

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

Fast forward thirty seconds

<duration> vorspulen

<duration> vor

avance de 30 secondes

avance trente 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

{sec} 秒早送り

{sec} 秒早送りして

avance trinta segundos

avançar trinta segundos

thirty seconds forward करो

तीस second forward करो

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

巻き戻し(時間指定)

Rewind forty seconds

<duration> zurückspulen

<duration> zurück

recule de 30 secondes

reviens en arrière de 30 secondes

recules de trente secondes

rewind de trente secondes

vai indietro di quaranta secondi

manda indietro di quaranta secondi

rebobina cuarenta segundos

retrocede treinta segundos

devuelve treinta segundos

{sec} 秒巻き戻し

{sec} 秒巻き戻して

rebobina 40 segundos

rebobine 40 segundos

चालीस second rewind करो

forty seconds rewind करो

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

ほかのディレクティブの場合と同様に、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インターフェースを参照してください。

エラーレスポンス

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