PlaybackControllerインターフェースのリファレンス



PlaybackControllerインターフェースのリファレンス

PlaybackControllerインターフェースは、ユーザーがデバイス上のボタン、リモコン、または画面付きのAlexaが使えるデバイスのタッチコントロール(次へ/前へ)などを操作したときにスキルに通知を行うためのリクエストを提供します。スキルは、これらのリクエストに対し、AudioPlayerディレクティブを使用して応答し、再生を開始したり停止したりできます。

PlaybackControllerインターフェースには、ディレクティブはありません。

PlaybackControllerリクエスト

PlaybackControllerは以下のリクエストを送信し、再生コントロールイベントについてスキルに通知します。

リクエストタイプ 説明
PlaybackController.NextCommandIssued ユーザーが次のオーディオアイテムにスキップするために「次へ」ボタンを使用した場合に送信されます。
PlaybackController.PauseCommandIssued ユーザーが再生を停止するために「一時停止」ボタンを使用した場合に送信されます。
PlaybackController.PlayCommandIssued ユーザーが再生を開始また再開するためにインテントで「再生」または「再開」ボタンを使用した場合に送信されます。
PlaybackController.PreviousCommandIssued ユーザーが前のオーディオアイテムに戻るために「前へ」ボタンを使用した場合に送信されます。
{
  "version": "1.0",
  "context": {
    "System": {
      "application": {},
      "user": {},
      "device": {}
    },
    "AudioPlayer": {
      "token": "AAAABBBBCCCCCDDDDEEEEEFFFF",
      "offsetInMilliseconds": 0,
      "playerActivity": "PLAYING"
    }
  },
  "request": {
    "type": "PlaybackController.NextCommandIssued",
    "requestId": "amzn1.echo-api.request.aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "timestamp": "2018-04-11T15:15:25Z",
    "locale": "ja-JP"
  }
}

完全なリクエストのフォーマットについては、カスタムスキルのJSONインターフェースのリファレンスリクエストの形式を参照してください。

テストページAlexaシミュレータでは、PlaybackControllerリクエストのテストはサポートされていません。

NextCommandIssuedリクエスト

ユーザーが次のオーディオアイテムにスキップするために「次へ」ボタンを使用した場合に送信されます。

{
  "type": "PlaybackController.NextCommandIssued",
  "requestId": "unique.id.for.the.request",
  "timestamp": "次の形式のリクエストのタイムスタンプ:  2018-04-11T15:15:25Z",
  "locale": "en-USなどのロケールコード"
}

パラメーター

パラメーター 説明
type PlaybackController.NextCommandIssued 文字列
requestId 特定のリクエストの固有IDを表します。 文字列
timestamp ISO 8601形式で表された文字列で、Alexaがリクエストを送信した日時を提供します。スキルをウェブサービスとしてホスティングしているときに、リクエストを検証するために使用されます。 文字列
locale ユーザーのロケールを示すstringです。例:en-USサポートされているロケールコードを参照してください。 文字列

有効な応答タイプ

スキルは、NextCommandIssuedに対して、どのAudioPlayerディレクティブでも応答できます。

応答に以下を含めることはできません。

  • outputSpeechcardrepromptなどの標準のプロパティ。
  • Dialogディレクティブなど、他のインターフェースからの他のディレクティブ。

PauseCommandIssuedリクエスト

ユーザーが再生を停止するために「一時停止」ボタンを使用した場合に送信されます。

{
  "type": "PlaybackController.PauseCommandIssued",
  "requestId": "unique.id.for.the.request",
  "timestamp": "次の形式のリクエストのタイムスタンプ:  2018-04-11T15:15:25Z",
  "locale": "en-USなどのロケールコード"
}

パラメーター

パラメーター 説明
type PlaybackController.PauseCommandIssued 文字列
requestId 特定のリクエストの固有IDを表します。 文字列
timestamp ISO 8601形式で表された文字列で、Alexaがリクエストを送信した日時を提供します。スキルをウェブサービスとしてホスティングしているときに、リクエストを検証するために使用されます。 文字列
locale ユーザーのロケールを示すstringです。例:en-USサポートされているロケールコードを参照してください。 文字列

有効な応答タイプ

スキルは、PauseCommandIssuedに対して、どのAudioPlayerディレクティブでも応答できます。

応答に以下を含めることはできません。

  • outputSpeechcardrepromptなどの標準のプロパティ。
  • Dialogディレクティブなど、他のインターフェースからの他のディレクティブ。

PlayCommandIssuedリクエスト

ユーザーが再生を開始また再開するために「再生」または「再開」ボタンを使用した場合に送信されます。

{
  "type": "PlaybackController.PlayCommandIssued",
  "requestId": "unique.id.for.the.request",
  "timestamp": "次の形式のリクエストのタイムスタンプ:  2018-04-11T15:15:25Z",
  "locale": "en-USなどのロケールコード"
}

パラメーター

パラメーター 説明
type PlaybackController.PlayCommandIssued 文字列
requestId 特定のリクエストの固有IDを表します。 文字列
timestamp ISO 8601形式で表された文字列で、Alexaがリクエストを送信した日時を提供します。スキルをウェブサービスとしてホスティングしているときに、リクエストを検証するために使用されます。 文字列
locale ユーザーのロケールを示すstringです。例:en-USサポートされているロケールコードを参照してください。 文字列

有効な応答タイプ

スキルは、PlayCommandIssuedに対して、どのAudioPlayerディレクティブでも応答できます。

応答に以下を含めることはできません。

  • outputSpeechcardrepromptなどの標準のプロパティ。
  • Dialogディレクティブなど、他のインターフェースからの他のディレクティブ。

PreviousCommandIssuedリクエスト

ユーザーが前のオーディオアイテムに戻るために「前へ」ボタンを使用した場合に送信されます。

{
  "type": "PlaybackController.PreviousCommandIssued",
  "requestId": "unique.id.for.the.request",
  "timestamp": "次の形式のリクエストのタイムスタンプ:  2018-04-11T15:15:25Z",
  "locale": "en-USなどのロケールコード"
}

パラメーター

パラメーター 説明
type PlaybackController.PreviousCommandIssued 文字列
requestId 特定のリクエストの固有IDを表します。 文字列
timestamp ISO 8601形式で表された文字列で、Alexaがリクエストを送信した日時を提供します。スキルをウェブサービスとしてホスティングしているときに、リクエストを検証するために使用されます。 文字列
locale ユーザーのロケールを示すstringです。例:en-USサポートされているロケールコードを参照してください。 文字列

有効な応答タイプ

スキルは、PreviousCommandIssuedに対して、どのAudioPlayerディレクティブでも応答できます。

応答に以下を含めることはできません。

  • outputSpeechcardrepromptなどの標準のプロパティ。
  • Dialogディレクティブなど、他のインターフェースからの他のディレクティブ。

System.ExceptionEncounteredリクエスト

PlaybackControllerリクエストに対する応答が原因でエラーが発生した場合、System.ExceptionEncounteredリクエストがスキルに送信されます。応答に含まれるディレクティブはすべて無視されます。

{
  "type": "System.ExceptionEncountered",
  "requestId": "unique.id.for.the.request",
  "timestamp": "次の形式のリクエストのタイムスタンプ:  2018-04-11T15:15:25Z",
  "locale": "en-USなどのロケールコード",
  "error": {
    "type": "INVALID_RESPONSEなどのエラーコード",
    "message": "発生したエラーの説明"
  },
  "cause": {
    "requestId": "エラーの原因となったリクエストの一意のID"
  }
}

パラメーター

パラメーター 説明
type System.ExceptionEncountered 文字列
requestId 特定のリクエストの固有IDを表します。 文字列
timestamp ISO 8601形式で表された文字列で、Alexaがリクエストを送信した日時を提供します。スキルをウェブサービスとしてホスティングしているときに、リクエストを検証するために使用されます。 文字列
locale ユーザーのロケールを示すstringです。例:en-USサポートされているロケールコードを参照してください。 文字列
error エラー情報を持つオブジェクトが含まれています。 オブジェクト
error.type 特定のタイプのエラー(INVALID_RESPONSEDEVICE_COMMUNICATION_ERRORINTERNAL_ERROR)を識別します。 文字列
error.message デバイスで発生したエラーの説明です。 文字列
cause.requestId エラーの原因となったリクエストのrequestIdです。 文字列

有効な応答タイプ

スキルは、System.ExceptionEncounteredに応答を返すことはできません。

サービスインターフェースのリファレンス(JSON)

リクエストの形式と標準のリクエストタイプ:

インターフェース: