Alexa.PlaybackControllerインターフェース



Alexa.PlaybackControllerインターフェース

PlaybackControllerインターフェースは、オーディオコンテンツやビデオコンテンツの再生、停止、再生操作に使用するメッセージを提供します。

検出

検出応答でディレクティブを使用する場合、エンドポイントがサポートするディレクティブを指定する必要があります。エンドポイントがサポートする操作は、supportedOperations配列を含めて指定します。

サポートされている値は以下のとおりです。

supportedOperationsを含んだ検出応答の例

{
  "event": {
    "header": {
      "namespace":"Alexa.Discovery",
      "name":"Discover.Response",
      "payloadVersion":"3",
      "messageId":"ff746d98-ab02-4c9e-9d0d-b44711658414"
    },
    "payload":{
      "endpoints":[
        {
          "capabilities":
          [
            {
              "type": "AlexaInterface",
              "interface": "Alexa.PlaybackController",
              "version": "3",
              "supportedOperations" : ["Play", "Pause", "Stop"]
            }
          ]
          ...
        }
      ]
    }
  }
}

ディレクティブ

このインターフェースの制御とクエリーのディレクティブがサポートする言語は、スキルの種類によって異なります。

スキルの種類 サポートする言語
ビデオスキル 英語(英国)、英語(米国)、ドイツ語
スマートホームスキル 英語(すべてのロケール)、イタリア語、スペイン語(スペイン)、日本語

スマートホームスキルでサポートされる言語の詳細については、スマートホームスキルを複数の言語で開発するを参照してください。

FastForward

現在のコンテンツを早送りするリクエストです。

ユーザー: アレクサ、デバイスで早送り
ユーザー: Alexa, fast forward on device

リクエストの例:

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

ペイロードの詳細

フィールド 説明 必須
なし ペイロードに必須または任意のフィールドはありません。 なし なし

Next

再生コンテンツの次の項目に移動するリクエストです。

ユーザー: アレクサ、デバイスで次の/曲かけて/ビデオにスキップして/写真見せて
ユーザー: Alexa, next song/video/photo on device

ユーザー: アレクサ、デバイスで次に進んで
ユーザー: Alexa, go forward on device

リクエストの例:

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

ペイロードの詳細

フィールド 説明 必須
なし ペイロードに必須または任意のフィールドはありません。 なし なし

Pause

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

ユーザー: アレクサ、デバイスを一時停止して
ユーザー: Alexa, pause device

リクエストの例:

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

      }
    },
    "payload": {}
  }
}

ペイロードの詳細

フィールド 説明 必須
なし ペイロードに必須または任意のフィールドはありません。 なし なし

Play

オーディオまたはビデオコンテンツを再生または再開するリクエストです。

ユーザー: アレクサ、デバイスを再開して
ユーザー: Alexa, resume device

ユーザー: アレクサ、デバイスで再生して
ユーザー: Alexa, play device

リクエストの例:

{
  "directive": {
    "header": {
      "namespace": "Alexa.PlaybackController",
      "name": "Play",
      "messageId": "5f8a426e-01e4-4cc9-8b79-65f8bd0fd8a4",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "device-001",
      "cookie": {         
      }
    },
    "payload": {
    }
  }
}

ペイロードの詳細

フィールド 説明 必須
なし ペイロードに必須または任意のフィールドはありません。 なし なし

Previous

再生コンテンツの前の項目に移動するリクエストです。

ユーザー: アレクサ、デバイスで戻って
ユーザー: Alexa, go back on device

例: Previous

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

ペイロードの詳細

フィールド 説明 必須
なし ペイロードに必須または任意のフィールドはありません。 なし なし

Rewind

現在のコンテンツを早戻しするリクエストです。

ユーザー: アレクサ、デバイスで巻き戻し
ユーザー: Alexa, rewind on device

例: Rewind

{
  "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": "device-001",
      "cookie": {
         
      }
    },
    "payload": {
    }
  }
}

ペイロードの詳細

フィールド 説明 必須
なし ペイロードに必須または任意のフィールドはありません。 なし なし

StartOver

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

ユーザー: アレクサ、デバイスで最初から始めて
ユーザー: Alexa, start over on device

リクエストの例:

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

      },
      "payload": {}
    }
  }
}

ペイロードの詳細

フィールド 説明 必須
なし ペイロードに必須または任意のフィールドはありません。 なし なし

Stop

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

ユーザー: アレクサ、デバイスを止めて
ユーザー: Alexa, stop device

リクエストの例:

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

ペイロードの詳細

フィールド 説明 必須
なし ペイロードに必須または任意のフィールドはありません。 なし なし

プロパティとイベント

このインターフェースでは、以下のように応答する必要があります。

  • 同期的に応答します。つまり、AlexaからLambda関数に応答を送信します。

応答を送信する場合、メッセージのcontextにインターフェースのプロパティの状態を含める必要があります。

プロパティ

現時点では、Alexa.PlaybackControllerインターフェースに定義されている出力プロパティはありません。

応答

このインターフェースのいずれかのディレクティブが正常に完了した場合、応答イベントを送信する必要があります。

応答の例

{
  "context": {
    "properties": []
  },
  "event": {
    "header": {
      "messageId": "30d2cd1a-ce4f-4542-aa5e-04bd0a6492d5",
      "namespace": "Alexa",
      "name": "Response",
      "payloadVersion": "3"
    },
    "endpoint":{
       "endpointId":"appliance-001"
    },
    "payload":{ }
 }
}

ErrorResponse

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

その他のサンプルコード

リクエストと応答のサンプルについては、AlexaスマートホームのGitHubリポジトリで以下を参照してください。

PlaybackController

インターフェース 説明
Alexa.RemoteVideoPlayer コンテンツの検索と再生を行うディレクティブを提供します。
Alexa.PlaybackStateReporter 再生エンドポイントの状態をレポートするイベントを提供します。