Alexa.RemoteVideoPlayerインターフェース



Alexa.RemoteVideoPlayerインターフェース

Alexa.RemoteVideoPlayerインターフェースは、ビデオコンテンツの検索に使用するメッセージです。

RemoteVideoPlayerインターフェースでサポートされているロケールについては、機能インターフェースの一覧を参照してください。

ディレクティブ

SearchAndPlay

コンテンツの特定の部分を再生するリクエストです。このメッセージには、エンティティとして記述された対象となるメディアオブジェクトと取得されたURIが含まれます。このメッセージには、検索と再生の対象を指定するエンティティの配列が含まれます。

ユーザー: Alexa, watch title
ユーザー: Alexa, titel anschauen

ユーザー: Alexa, play title
ユーザー: Alexa, titel abspielen

ユーザー: Alexa, stream title
ユーザー: Alexa, titel streamen

ユーザー: Alexa, start title
ユーザー: Alexa, titel starten

リクエストの例

この例では、「マンチェスター・バイ・ザ・シー」の特定の部分をリクエストしています。

{
  "directive": {
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "videoDevice-001",
      "cookie": {         
      }
    },
    "header": {
      "messageId": "abc-123-def-456",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
      "name": "SearchAndPlay",
      "namespace": "Alexa.RemoteVideoPlayer",
      "payloadVersion": "3"
    },
    "payload": {
      "entities": [{
        "externalIds": {
          "gracenote": "MV000000099001"
        },
        "value": "マンチェスター・バイ・ザ・シー",
        "type": "Video"
      }],
      "timeWindow": {
        "end": "2016-09-07T23:59:00+00:00",
        "start": "2016-09-01T00:00:00+00:00"
      }
    }
  }
}

ペイロードの詳細

プロパティ 説明 タイプ 必須
entities 再生するエンティティオブジェクトの配列 タイトル、シリーズ、出演者、メディアの種類などのEntityオブジェクトの配列です。詳細については、エンティティタイプの説明を参照してください。
timeWindow ユーザーが再生したいコンテンツの時間を指定します。 終了時間と開始時間のリストです
timeWindow.end コンテンツ検索の終了時間です。 文字列はISO 8601形式で、YYYY-MM-DDThh:mm:ssZとなります。
timeWindow.start コンテンツ検索の開始時間です。 文字列はISO 8601形式で、YYYY-MM-DDThh:mm:ssZとなります。

SearchAndDisplayResults

検索を行い、アプリケーションに適した方法で検索結果を表示するリクエストです。つまり、ユーザーにサイドロードした検索画面を提供し、結果をコンパニオンモバイルアプリに送信するか、デバイスに表示します。このメッセージには、検索の対象を指定するエンティティの配列が含まれます。

ユーザー: Alexa, show me the movie Manchester by the Sea
ユーザー: Alexa, zeige mir den film Manchester by the Sea

リクエストの例:

{
    "directive": {
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "access-token-from-skill"
            },
            "endpointId": "appliance-001",
            "cookie": {}
        },
        "header": {
            "messageId": "abc-123-def-456",
             "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
            "name": "SearchAndDisplayResults",
            "namespace": "Alexa.RemoteVideoPlayer",
            "payloadVersion": "3"
        },
        "payload": {
            "entities": [
                   {
                    "externaIds": {
                        "gracenote": "ST0000000666661"
                    },
                    "name": "マンチェスター・バイ・ザ・シー",
                    "type": "Video"
                }
            ],
            "timeWindow": {
                "end": "2016-09-07T23:59:00+00:00",
                "start": "2016-09-01T00:00:00+00:00"
            }
        }
    }
}

ペイロードの詳細

プロパティ 説明 タイプ 必須
entities 再生するエンティティオブジェクトの配列 タイトル、シリーズ、出演者、メディアの種類などのEntityオブジェクトの配列です。詳細については、エンティティタイプの説明を参照してください。
timeWindow ユーザーが再生したいコンテンツの時間を指定します。たとえば、先週の話を再生したい場合、時間には先週を指定します。 終了時間と開始時間のリストです
timeWindow.end コンテンツ検索の終了時間です。 文字列はISO 8601形式で、YYYY-MM-DDThh:mm:ssZとなります。
timeWindow.start コンテンツ検索の開始時間です。 文字列はISO 8601形式で、YYYY-MM-DDThh:mm:ssZとなります。

あいまいな再生リクエストを処理する

SearchAndDisplayResultsと同様、SearchAndPlayも、コンテンツタイトル、シリーズ名、出演者、監督、スポーツチーム、メディアの種類などの複数のエンティティタイプをサポートしています。そのため、これらのディレクティブにあいまいなエンティティのリクエストが含まれる場合もあります。たとえば、ユーザーは次のようにリクエストする可能性があります。

ユーザー: Alexa, play a popular comedy
ユーザー: Alexa, spiele eine beliebte Komödie ab

または

ユーザー: Alexa, play a Billy Bob Thornton movie
ユーザー: Alexa, spiele einen film mit Billy Bob Thornton

ビデオスキルAPIでは、あいまいなリクエストであっても、処理方法を開発者が柔軟に決定できます。たとえば、以下のようなことが可能です。

  • 人気のコメディか三船敏郎の映画の再生を開始する
  • 人気コメディまたは三船敏郎映画の上位10作品のリストを生成し、重複しないようにランダムに1作品を選んで再生する
  • あいまいなエンティティの検索結果をそのまま表示する

処理方法は選択できますが、可能な限りユーザーの再生リクエストを満たすようにすることをお勧めします。

Alexa.Responseイベント

SearchAndPlayまたはSearchAndDisplayResultsディレクティブが正常に完了したら、Alexa.Responseメッセージを含めて応答を返す必要があります。

正常な応答の例

{
    "context": {
        "properties": []
    },
    "event": {
        "endpoint": {
            "scope": {
                "type": "DirectedUserId",
                "directedUserId": "access-token-from-Amazon"
            },
            "endpointId": "videoDevice-001"
        },
        "header": {
            "messageId": "abc-123-def-456",
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
            "name": "Response",
            "namespace": "Alexa",
            "payloadVersion": "3"
        },
        "payload": {}
    }
}

ペイロードの詳細

ペイロードコンテンツは必要ありません。

応答のパフォーマンス要件

以下の表は、検索および再生リクエストの応答の待ち時間の制限を呼び出しの割合で示したものです。

呼び出しの割合 待ち時間制限
(ミリ秒)
50% 50ミリ秒
90% 100ミリ秒
99% 200ミリ秒

詳細については、テストガイドを参照してください。

インターフェース 説明
Alexa.PlaybackController 再生や、早戻し、早送りといったコンテンツ内の移動のディレクティブを提供します。