開発者コンソール

Alexa.PlaybackControllerインターフェース


Alexa.PlaybackControllerインターフェース

ユーザーがトランスポートコントロールの発話(停止、巻き戻し、再生など)を行うと、Alexa.PlaybackControllerインターフェースはトランスポートコントロールディレクティブ(PausePlayStopResumeNextPreviousFastForwardRewindStartOver)を送信して、メディアコントロールのアクションを指示します。

トランスポートコントロールディレクティブの発話

ユーザーが以下の発話を行うと、AlexaはLambdaにトランスポートコントロールディレクティブを送信します。

機能 サンプル発話 想定されるレスポンス
一時停止

Pause

Pause

Pause

Mets en pause

pause

mets en pause

pausa

metti in pausa

pausa

pausa

pon pausa

一時停止

一時停止して

pause

pausa

pause

pause करो

ウェブプレーヤーやリモコンで一時停止ボタンを押した場合と同様に、メディアが一時停止されます。

再生

Play

Play

Starten

joue

joue

fais jouer

riproduci

reproduce

reproduce

再生

再生して

assitir

reproduzir

play

play करो

ウェブプレーヤーやリモコンで再生ボタンを押した場合と同様に、メディアが再生されます。

停止

Stop

Stopp

arrêtes

stop

arrête

stop

stop

para

para

alto

止めて

ストップ

parar

pare

stop

stop करो

ウェブプレーヤーやリモコンで停止ボタンを押した場合と同様に、メディアが停止されます。

再開

Resume

Fortsetzen

Weiter

reprends

reprends

continue

riprendi

continúa

continúa

再開

再開して

continua

continuar

resume

resume करो

ウェブプレーヤーやリモコンで再生ボタンを押した場合と同様に、メディアの再生が再開されます。

最初から再生

Start over

Neu starten

Von Beginn abspielen

recommences

remets au début

recommence

recommence au début

ricomincia

metti dall'inizio

vuelve a empezar

vuelve al principio

vuelve a empezar

vuelve al inicio

最初から再生

最初から見せて

começar de novo

comece de novo

start over

शुरू से चलाओ

シーク位置がメディアの先頭に戻り、メディアが最初から再生されます。

早送り

Fast Forward

Vorspulen

avance

avances rapide

avances

avances rapide

vai avanti veloce

manda avanti veloce

avanza

avanza

adelanta

早送り

早送りして

avançar

avance

forward करो

fast forward करो

メディアが10秒早送りされます。

巻き戻し

Rewind

Zurückspulen

Rückspulen

reviens en arrière

recule

rewind

riavvolgi

manda indietro

rebobina

retrocede

retrocédele

巻き戻し

巻き戻して

voltar

volte

rewind

rewind करो

メディアが10秒巻き戻されます。

前へ

Previous

Zurück

vorherige/vorherigen

précédent

prédédent

précédente

precedente

anterior

anterior

戻って

戻る

anterior

o/a anterior

previous

previous चलाओ

前のエピソードが再生されます。それができない場合は、現在のプレイリスト内で前のエピソードに移動します。

次へ

Next

Weiter

nächste / nächsten

suivant

suivant

suivante

successivo / successiva

siguiente

siguiente

la/el que sigue

進んで

próximo

o próximo

next

next चलाओ

次のエピソードが再生されます。それができない場合は、現在のプレイリスト内で次のエピソードに移動します。

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

PlaybackControllerディレクティブの処理

PlaybackControllerインターフェースから送信されるディレクティブには、いくつかのタイプがあります。それぞれについて以下の各セクションで説明します。

Pauseディレクティブ

「アレクサ、『インターステラー』を見せて」と言った後で、「アレクサ、一時停止して」と言います。 これにより、Lambdaでこのディレクティブを確認できます。ユーザーがリモコンの「一時停止」ボタンを押したときと同じアクションを実行する必要があります。

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "Pause",
      "messageId": "abc-123-def-456",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {

      }
    },
    "payload": {}
  }
}

Playディレクティブ

「アレクサ、『インターステラー』を見せて」と言った後で、「アレクサ、一時停止して」と言います。 その後、「アレクサ、再生して」と言います。 これにより、Lambdaでこのディレクティブを確認できます。ユーザーがリモコンの「再生」ボタンを押したときと同じアクションを実行する必要があります。

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "Play",
      "messageId": "abc-123-def-456",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {
      }
    },
    "payload": {
    }
  }
}

Stopディレクティブ

オーディオまたはビデオコンテンツの再生を停止するようリクエストします。

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "Stop",
      "messageId": "abc-123-def-456",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {

      }
    },
    "payload": {
    }
  }
}

Resumeディレクティブ

「アレクサ、『インターステラー』を見せて」と言った後で、「アレクサ、一時停止して」と言います。 その後、「アレクサ、再開して」と言います。 これにより、Lambdaでこのディレクティブを確認できます。ユーザーがリモコンで再生の一時停止を解除した場合(つまり、再生が既に一時停止されている状態で「再生」ボタンを押した場合)と同じアクションを実行する必要があります。

Nextディレクティブ

コンテンツの視聴中に、「アレクサ、次」と言います。 このコマンドが使用された場合は、次のエピソードに移る必要があります。できない場合は、開発者が選択した次の関連ビデオコンテンツ(または開発者が選択したプレイリストの次の項目)をユーザーに表示する必要があります。

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "Next",
      "messageId": "abc-123-def-456",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {

      }
    },
    "payload": {
    }
  }
}

Previousディレクティブ

コンテンツの視聴中に、「アレクサ、前」と言います。 このコマンドが使用された場合は、前のエピソードに移る必要があります。できない場合は、開発者が選択したプレイリストの前の項目をユーザーに表示する必要があります。

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "Previous",
      "messageId": "abc-123-def-456",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {

      }
    },
    "payload": {
    }
  }
}

FastForwardディレクティブ

ユーザーが「アレクサ、早送り」と言った場合に、30秒間早送りして再生します。早送り時の画面表示は、リモコンで早送りするときのようにカーソルがゆっくりと動く画面にはしないでください。ユーザーが音声で早送りをリクエストした後、「アレクサ、再生して」と言わなくてはならない動作は望ましくありません。Amazonのユーザー調査によると、ユーザーはこのコマンドを使用した場合、単に30秒早送りして自動的に再生が再開されることを好むことがわかっています。ユーザーがもっと早送りしたい場合は、SeekControllerディレクティブを使用できます。

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "FastForward",
      "messageId": "abc-123-def-456",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {

      }
    },
    "payload": {
    }
  }
}

Rewindディレクティブ

ユーザーが「アレクサ、巻き戻し」と言った場合に、30秒間巻き戻して再生します。巻き戻し時の画面表示は、リモコンで巻き戻しするときのようにカーソルがゆっくりと動く画面にはしないでください。ユーザーが音声で巻き戻しをリクエストした後、「アレクサ、再生して」と言わなくてはならない動作は望ましくありません。Amazonのユーザー調査によると、ユーザーはこのコマンドを使用した場合、単に30秒巻き戻して自動的に再生が再開されることを好むことがわかっています。ユーザーがもっと巻き戻したい場合は、SeekControllerディレクティブを使用できます。

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "Rewind",
      "messageId": "c8d53423-b49b-48ee-9181-f50acedf2870",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {

      }
    },
    "payload": {
    }
  }
}

StartOverディレクティブ

オーディオまたはビジュアルコンテンツの最初から再生を開始するリクエストです。

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "StartOver",
      "messageId": "abc-123-def-456",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "VSKTV",
      "cookie": {

      },
      "payload": {}
    }
  }
}

レスポンスの例

PlaybackControllerインターフェースのトランスポートコントロールディレクティブを受信したら、Alexaにレスポンスを送り返します。

レスポンスの例

{
 "context": {
   "properties": []
 },
 "event": {
   "header": {
     "messageId": "abc-123-def-456",
     "namespace": "Alexa",
     "name": "Response",
     "payloadVersion": "3"
   },
   "endpoint":{
      "endpointId":"VSKTV"
   },
   "payload":{ }
}
}

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

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

エラーレスポンス

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

その他のサンプルコード

AlexaスマートホームGitHubリポジトリの PlaybackControllerで、リクエストとレスポンスのサンプルメッセージを参照してください。