AudioPlayerインターフェースのリファレンス
AudioPlayerインターフェースは、オーディオをストリーミングしたり再生状況を監視したりするディレクティブとリクエストを提供します。スキルは、ディレクティブを送信して再生を開始したり停止したりできます。AlexaサービスはAudioPlayerリクエストをスキルに送信し、トラックの終了間際や再生の開始時と停止時など、再生状況に関する情報を提供します。また、Alexaは、リモコンなどのハードウェアボタンや、画面付きのAlexa搭載デバイスの次へ/前へタップコントロールに応答して、PlaybackControllerリクエストも送信します。
オーディオプレーヤーの詳細については、AudioPlayerでのロングフォームオーディオのストリーミングを参照してください。
ディレクティブとリクエスト
AudioPlayerインターフェースには、以下のディレクティブ応答とリクエストタイプが含まれます。Alexaへの応答には、オーディオストリームを開始および停止するディレクティブを含めます。Alexaはリクエストを送信し、再生状況の変更についてスキルに通知します。
| インターフェース | 説明 | タイプ |
|---|---|---|
|
指定したオーディオファイルのストリーミングをAlexaにリクエストします。 |
ディレクティブ | |
|
現在のオーディオストリームの停止をAlexaにリクエストします。 |
ディレクティブ | |
|
すべてのオーディオストリームのキューを削除するようAlexaにリクエストします。 |
ディレクティブ | |
|
|
リクエスト | |
|
ストリームが終了したときにスキルに通知します。 |
リクエスト | |
|
音声リクエストや |
リクエスト | |
|
現在のストリームが終了間際で、デバイスが新しいストリームを受信する準備ができている場合にスキルに通知します。 |
リクエスト | |
|
ストリームを再生しようとしてエラーが発生した場合にスキルに通知します。 |
リクエスト |
Playディレクティブ
Alexaにリクエストを送信して、指定されたaudioItemで識別されたオーディオファイルをストリーミングします。playBehaviorパラメーターを使用して、ストリームをすぐに再生するか、キューに追加するかを指定できます。PlayディレクティブはAlexaへの応答に追加します。応答のdirectives配列にディレクティブを含めます。
Playディレクティブは1つだけです。Playディレクティブを送信するときは、応答オブジェクトのshouldEndSessionフラグをtrueに設定してセッションを終了します。このフラグをfalseに設定すると、Alexaはストリームを再生するためにデバイスに送信し、その後ストリームを一時停止して、ユーザーの応答を待ちます。
LaunchRequestまたはIntentRequestに応答する場合、応答にはAudioPlayerディレクティブと標準の応答プロパティ(outputSpeech、card、repromptなど)の両方を含めることができます。たとえば、Playディレクティブと同じ応答にoutputSpeechを含めると、Alexaは指定されたテキストを読み上げてからオーディオのストリーミングを開始します。
ディレクティブ応答の例
以下は、応答のディレクティブエントリの例です。完全な応答の形式については、応答の形式を参照してください。
{
"type": "AudioPlayer.Play",
"playBehavior": "ENQUEUEなどの有効なplayBehavior値",
"audioItem": {
"stream": {
"url": "://cdn.example.com/url-of-the-stream-to-play",
"token": "このストリームを表すopaqueトークンです",
"expectedPreviousToken": "前のストリームを表すopaqueトークンです",
"offsetInMilliseconds": 0,
"captionData":{
"content": "WEBVTT\n\n00:00.000 --> 00:02.107\n<00:00.006>この<00:00.0192>オーディオの <00:01.232>キャプションです\n",
"type": "WEBVTT"
}
},
"metadata": {
"title": "表示するトラックのタイトル",
"subtitle": "表示するトラックのサブタイトル",
"art": {
"sources": [
{
"url": "://cdn.example.com/url-of-the-album-art-image.png"
}
]
},
"backgroundImage": {
"sources": [
{
"url": "://cdn.example.com/url-of-the-background-image.png"
}
]
}
}
}
}
ディレクティブのパラメーター
| パラメーター | 説明 | 型 | 必須 |
|---|---|---|---|
|
|
|
文字列 |
◯ |
|
|
再生動作を説明します。有効な値は以下のとおりです。
|
文字列 |
◯ |
|
|
再生するオーディオストリームに関する情報を提供するオブジェクトが含まれています。 |
オブジェクト |
◯ |
|
|
再生するオーディオストリームを表すオブジェクトが含まれています。 |
オブジェクト |
◯ |
|
|
ポート443のリモートロケーションにあるオーディオコンテンツの場所を指定します。詳細については、オーディオストリームのURLの要件を参照してください。 |
文字列 |
◯ |
|
|
オーディオストリームを識別するopaqueトークンです。
|
文字列 |
◯ |
|
|
前のストリームと思われるストリームを表すopaqueなトークンです。これは前のストリームの このプロパティは、 |
文字列 |
◯( |
|
|
ストリームで、Alexaが再生を開始するポイントのタイムスタンプです。最初からストリームを再生する場合は0に設定します。他の値に設定すると、ストリームの指定の位置から再生を開始します。 |
長整数 |
◯ |
|
|
|
オブジェクト |
✕ |
|
|
contentフィールド内の文字列の形式。 |
文字列 |
✕ |
|
|
時刻をエンコードしたキャプションテキスト。 |
文字列 |
✕ |
|
|
画面付きのAlexa搭載デバイスに表示されるオーディオに関する情報です。この情報はAlexaアプリには表示されません。 このオブジェクトを含めない場合、Alexaはデフォルトでスキル名を灰色の背景で表示します。 このオブジェクトはオプションです。ただし、 新しいメタデータ項目を、それぞれ異なる 詳細については、画面付きのAlexa搭載デバイス用画像ガイドラインを参照してください。 メタデータは、 |
オブジェクト |
✕ |
|
|
表示するタイトルテキストです。通常、これはオーディオトラックのタイトルに使用されます。 |
文字列 |
✕ |
|
|
カテゴリーやアーティスト名など、表示するサブタイトルテキストです。 |
文字列 |
✕ |
|
|
表示するアルバムアートを表す画像オブジェクトです。このオブジェクトは、Displayインターフェーステンプレートで使用される画像と同じ形式を使用します。 Echo ShowまたはFire TV Cubeでは、小さい正方形の画像になります。Echo Spotでは、円形にトリミングされて背景として表示されます。 意図したとおりに設定するには、画像についてのガイドラインと仕様に従ってください。 |
|
✕ |
|
|
表示する背景画像を表す画像オブジェクトです。このオブジェクトは、Displayインターフェーステンプレートで使用される画像と同じ形式を使用します。 Echo ShowまたはFire TV Cubeでは、 意図したとおりに設定するには、画像についてのガイドラインと仕様に従ってください。 注:
AudioPlayerスキルの背景画像は、自動カラーオーバーレイを取得します。カラーは、スキルで使用されるアルバムカバーの色から取得されます。現在、色合いを取り除くことはできません。 |
|
✕ |
ENQUEUEの場合のプレイリストの進行状況
audioItem.stream.expectedPreviousTokenプロパティは、プレイリストの進行とトラックの変更のリクエストが同時に発生する状況に対処するためにplayBehaviorをENQUEUEにした場合は、必須になります。audioItem.stream.expectedPreviousTokenの値は、前のストリームで提供されたaudioItem.stream.tokenプロパティと一致している必要があります。
例:
- 複数のトラックがある1つのプレイリストで、スキルがトラック2をストリーミングしています。
- ユーザーが「アレクサ、戻って」と言うと、
AMAZON.PreviousIntentが送信されます。 - ほぼ同時に、トラック2が終了間際であるためAlexaが
PlaybackNearlyFinishedリクエストを送信します。 - スキルはまず
AMAZON.PreviousIntentを処理して、トラック1の新しいPlayディレクティブを送信します。するとトラック1の再生が開始されます。すでに送信済みのPlaybackNearlyFinishedリクエストは、トラック2が再生されていることを前提としていたため、すでに古くなっています。 - スキルはこの古くなっている
PlaybackNearlyFinishedリクエストを処理して、最初に再生していたトラック2の次のトラックであるトラック3のPlayディレクティブを送信します。このリクエストには、トラック2に設定されたexpectedPreviousTokenが含まれています。 - ディレクティブ内のこの
expectedPreviousTokenは、再生中のストリームのtokenと一致しないため、デバイスはこのディレクティブを無視します。 - トラック1が終了すると、Alexaは
PlaybackNearlyFinishedリクエストを送信します。スキルはトラック2のPlayディレクティブで応答します。トラック1が終了すると、このトラックの再生が開始します。
このチェックが行われない場合、ステップ5で送信されたディレクティブによってトラック3がキューに追加され、トラック1の終了時にオーディオがトラック1からトラック3にスキップされることになります。
playBehaviorが他の値(REPLACE_ALLまたはREPLACE_ENQUEUED)になっている場合にaudioItem.stream.expectedPreviousTokenを含めると、エラーが発生します。画面付きのAlexa搭載デバイス用画像ガイドライン
audioItem.metadata.artプロパティとaudioItem.metadata.backgroundImageプロパティに画像を設定する場合、以下のガイドラインに注意してください。
- 新しいメタデータを含むトラックを送信する場合は、トラックの
audioItem.stream.tokenプロパティも必ず変更してください。 - 画像はオーディオ画像の要件を満たしている必要があります。詳細については、画像の要件と推奨事項を参照してください。
audioItem.metadata.artについては、正方形の画像を使用することをお勧めします。画像が正方形でない場合、デバイスに不要な黒い空白が表示されます。Echo Spotでは画像が円形にトリミングされることに注意してください。imageオブジェクトを使用すれば、source配列に複数の画像URLを設定できます。Displayインターフェースを使用すると、デバイスでは最高解像度で画像が表示されます。imageオブジェクトの特定の画像のsourceに関する以下のプロパティは、オーディオの背景画像とアルバムアートを表示するときには使用されないため、オブジェクトに含める必要はありません。contentDescriptionsizewidthPixelsheightPixels
Playディレクティブ内のaudioItem.stream.tokenによって、指定されたオーディオストリームのメタデータを識別します。特定のaudioItem.stream.tokenに関連するメタデータは、Alexaサービスで最大5日間キャッシュされる場合があります。そのため、メタデータの変更(別の画像、タイトルテキストの変更など)はすぐにデバイスに反映されない可能性があります。たとえば、同じオーディオストリームについて別の画像やタイトルテキストを試しながらテストしているときに、このような現象が発生する場合があります。キャッシュを削除するには、別のaudioItem.stream.tokenを指定して新しいPlayディレクティブを送信します。Stopディレクティブ
現在のオーディオ再生を停止します。応答のdirectives配列にディレクティブを含めます。
LaunchRequestまたはIntentRequestに応答する場合、応答にはAudioPlayerディレクティブと標準の応答プロパティ(outputSpeech、card、repromptなど)の両方を含めることができます。
ディレクティブ応答の例
以下は、応答のディレクティブエントリの例です。完全な応答の形式については、応答の形式を参照してください。
{
"type": "AudioPlayer.Stop"
}
ディレクティブのパラメーター
| パラメーター | 説明 | 型 | 必須 |
|---|---|---|---|
type |
AudioPlayer.Stopに設定します |
文字列 | ◯ |
ClearQueueディレクティブ
オーディオ再生のキューを削除します。このディレクティブを設定して、現在再生中のストリームを停止せずにキューを削除したり、キューを削除して現在再生中のストリームを停止したりできます。応答のdirectives配列にディレクティブを含めます。
LaunchRequestまたはIntentRequestに応答する場合、応答にはAudioPlayerディレクティブと標準の応答プロパティ(outputSpeech、card、repromptなど)の両方を含めることができます。
ディレクティブ応答の例
以下は、応答のディレクティブエントリの例です。完全な応答の形式については、応答の形式を参照してください。
{
"type": "AudioPlayer.ClearQueue",
"clearBehavior" : "CLEAR_ALLなどの有効なclearBehavior値"
}
ディレクティブのパラメーター
| パラメーター | 説明 | 型 | 必須 |
|---|---|---|---|
|
|
|
文字列 |
◯ |
|
|
キューを削除する動作を説明します。有効な値は以下のとおりです。
|
文字列 |
◯ |
PlaybackStartedリクエスト
Playディレクティブで以前に送信されたオーディオストリームの再生をAlexaが開始すると、スキルに送信されます。このリクエストにより、スキルは再生が正常に開始されたことを確認できます。また、このリクエストは、Alexaが音声リクエストのために再生を一時停止してから再開したときにも、通知の目的でスキルに送信されます。
sessionオブジェクトを含みません。applicationIdやuserIdなどの詳細を取得するには、contextオブジェクトを使用してください。リクエストの例
{
"version": "1.0",
"context": {
"System": {
"application": {},
"user": {},
"device": {}
}
},
"request": {
"type": "AudioPlayer.PlaybackStarted",
"requestId": "unique.id.for.the.request",
"timestamp": "リクエストのタイムスタンプ(形式: 2018-04-11T15:15:25Z)",
"token": "現在再生中のストリームを表すトークン",
"offsetInMilliseconds": 0,
"locale": "ja-JPなどのロケールコード"
}
}
リクエストのパラメーター
| パラメーター | 説明 | 型 |
|---|---|---|
type |
AudioPlayer.PlaybackStarted |
文字列 |
requestId |
特定のリクエストの固有IDを表します。 | 文字列 |
timestamp |
ISO 8601形式で表された文字列で、Alexaがリクエストを送信した日時を提供します。[スキルをウェブサービスとしてホスティングしているときに、リクエストを検証する][hosting-as-web-service#timestamp]ために使用されます。 | 文字列 |
token |
オーディオストリームを表すopaqueトークンです。Playディレクティブを送信するときに、このトークンを提供します。 |
文字列 |
offsetInMilliseconds |
PlaybackStartedリクエストが送信された時点のトラックのオフセットをミリ秒単位で指定します。 |
長整数 |
locale |
ユーザーのロケールを示すstringです。例:ja-JP。[サポートされているロケールコード][service_ref#request-locale]を参照してください。 |
文字列 |
完全なリクエストの形式については、リクエストの形式を参照してください。
応答
スキルは、PlaybackStartedに対してStopまたはClearQueueディレクティブで応答できます。
応答に以下を含めることはできません。
outputSpeech、card、repromptなどの標準のプロパティ。- 他の任意の
AudioPlayerディレクティブ。 - ほかのインターフェースのほかのディレクティブ([Dialogディレクティブ][dialog-interface-reference#directives]など)。
AudioPlayerリクエストに対してスキルから応答を返す必要はありません。PlaybackFinishedリクエスト
Alexaが再生しているストリームが終了すると、送信されます。スキルがStopディレクティブで再生を明示的に停止した場合、AlexaはPlaybackFinishedの代わりにPlaybackStoppedを送信します。
sessionオブジェクトを含みません。applicationIdやuserIdなどの詳細を取得するには、contextオブジェクトを使用してください。リクエストの例
{
"version": "1.0",
"context": {
"System": {
"application": {},
"user": {},
"device": {}
}
},
"request": {
"type": "AudioPlayer.PlaybackFinished",
"requestId": "unique.id.for.the.request",
"timestamp": "リクエストのタイムスタンプ(形式: 2018-04-11T15:15:25Z)",
"token": "現在再生中のストリームを表すトークン",
"offsetInMilliseconds": 0,
"locale": "ja-JPなどのロケールコード"
}
}
リクエストのパラメーター
| パラメーター | 説明 | 型 |
|---|---|---|
type |
AudioPlayer.PlaybackFinished |
文字列 |
requestId |
特定のリクエストの固有IDを表します。 | 文字列 |
timestamp |
ISO 8601形式で表された文字列で、Alexaがリクエストを送信した日時を提供します。[スキルをウェブサービスとしてホスティングしているときに、リクエストを検証する][hosting-as-web-service#timestamp]ために使用されます。 | 文字列 |
token |
オーディオストリームを表すopaqueトークンです。Playディレクティブを送信するときに、このトークンを提供します。 |
文字列 |
offsetInMilliseconds |
PlaybackFinishedリクエストが送信された時点のトラックのオフセットをミリ秒単位で指定します。 |
長整数 |
locale |
ユーザーのロケールを示すstringです。例:ja-JP。[サポートされているロケールコード][service_ref#request-locale]を参照してください。 |
文字列 |
応答
スキルは、PlaybackFinishedに対してStopまたはClearQueueディレクティブで応答できます。
応答に以下を含めることはできません。
outputSpeech、card、repromptなどの標準のプロパティ。- 他の任意の
AudioPlayerディレクティブ。 - ほかのインターフェースのほかのディレクティブ([Dialogディレクティブ][dialog-interface-reference#directives]など)。
AudioPlayerリクエストに対してスキルから応答を返す必要はありません。PlaybackStoppedリクエスト
以下のAudioPlayerディレクティブのいずれかに応答して、Alexaがオーディオストリームの再生を停止したときに送信されます。
StopPlayとREPLACE_ALLのplayBehaviorClearQueueとCLEAR_ALLのclearBehavior
ユーザーがAlexaに音声リクエストをした場合にも再生が一時停止になるので、このリクエストが送信されます。この場合、音声対話が完了すると、再生が自動的に開始されます。オーディオストリームが終了したために再生が停止した場合、AlexaはPlaybackStoppedの代わりにPlaybackFinishedを送信します。
sessionオブジェクトを含みません。applicationIdやuserIdなどの詳細を取得するには、contextオブジェクトを使用してください。リクエストの例
{
"version": "1.0",
"context": {
"System": {
"application": {},
"user": {},
"device": {}
}
},
"request": {
"type": "AudioPlayer.PlaybackStopped",
"requestId": "unique.id.for.the.request",
"timestamp": "リクエストのタイムスタンプ(形式: 2018-04-11T15:15:25Z)",
"token": "現在再生中のストリームを表すトークン",
"offsetInMilliseconds": 0,
"locale": "ja-JPなどのロケールコード"
}
}
リクエストのパラメーター
| パラメーター | 説明 | 型 |
|---|---|---|
type |
AudioPlayer.PlaybackStopped |
文字列 |
requestId |
特定のリクエストの固有IDを表します。 | 文字列 |
timestamp |
ISO 8601形式で表された文字列で、Alexaがリクエストを送信した日時を提供します。[スキルをウェブサービスとしてホスティングしているときに、リクエストを検証する][hosting-as-web-service#timestamp]ために使用されます。 | 文字列 |
token |
オーディオストリームを表すopaqueトークンです。Playディレクティブを送信するときに、このトークンを提供します。 |
文字列 |
offsetInMilliseconds |
PlaybackStoppedリクエストが送信された時点のトラックのオフセットをミリ秒単位で指定します。 |
長整数 |
locale |
ユーザーのロケールを示すstringです。例:ja-JP。[サポートされているロケールコード][service_ref#request-locale]を参照してください。 |
文字列 |
応答
PlaybackStoppedに対してスキルから応答を返すことはできません。
PlaybackNearlyFinishedリクエスト
デバイスが、次のストリームをキューに追加する準備ができている場合に送信されます。
オーディオストリームのプレイリストを次に進めるには、このリクエストに対して次のストリームのPlayディレクティブで応答し、ENQUEUEまたはREPLACE_ENQUEUEDにplayBehaviorを設定します。これにより、現在の再生を停止することなく、キューに新しいストリームを追加できます。Alexaは、現在再生中の曲が終了すると、新しいオーディオアイテムのストリーミングを開始します。
sessionオブジェクトを含みません。applicationIdやuserIdなどの詳細を取得するには、contextオブジェクトを使用してください。リクエストの例
{
"version": "1.0",
"context": {
"System": {
"application": {},
"user": {},
"device": {}
}
},
"request": {
"type": "AudioPlayer.PlaybackNearlyFinished",
"requestId": "unique.id.for.the.request",
"timestamp": "リクエストのタイムスタンプ(形式: 2018-04-11T15:15:25Z)",
"token": "現在再生中のストリームを表すトークン",
"offsetInMilliseconds": 0,
"locale": "ja-JPなどのロケールコード"
}
}
リクエストのパラメーター
| パラメーター | 説明 | 型 |
|---|---|---|
type |
AudioPlayer.PlaybackNearlyFinished |
文字列 |
requestId |
特定のリクエストの固有IDを表します。 | 文字列 |
timestamp |
ISO 8601形式で表された文字列で、Alexaがリクエストを送信した日時を提供します。[スキルをウェブサービスとしてホスティングしているときに、リクエストを検証する][hosting-as-web-service#timestamp]ために使用されます。 | 文字列 |
token |
現在再生中のオーディオストリームを表すopaqueトークンです。Playディレクティブを送信するときに、このトークンを提供します。 |
文字列 |
offsetInMilliseconds |
PlaybackNearlyFinishedリクエストが送信された時点のトラックのオフセットをミリ秒単位で指定します。 |
長整数 |
locale |
ユーザーのロケールを示すstringです。例:ja-JP。[サポートされているロケールコード][service_ref#request-locale]を参照してください。 |
文字列 |
応答
スキルは、PlaybackNearlyFinishedに対して、どのAudioPlayerディレクティブでも応答できます。
応答に以下を含めることはできません。
outputSpeech、card、repromptなどの標準のプロパティ。- ほかのインターフェースのほかのディレクティブ([Dialogディレクティブ][dialog-interface-reference#directives]など)。
AudioPlayerリクエストに対してスキルから応答を返す必要はありません。PlaybackFailedリクエスト
ストリームを再生しようとしているときに、Alexaにエラーが発生した場合に送信されます。
このリクエストタイプには、requestオブジェクトのプロパティと、currentPlaybackStateオブジェクトのプロパティという、2つのtokenプロパティが含まれています。request.tokenプロパティは、再生に失敗したストリームを表します。currentPlaybackState.tokenプロパティの値は、Alexaがストリームを再生していてキューの次のストリームをバッファリングしようとしたときにエラーが発生すると、異なる場合があります。この場合、currentPlaybackState.tokenは正常に再生されていたストリームを表します。
sessionオブジェクトを含みません。applicationIdやuserIdなどの詳細を取得するには、contextオブジェクトを使用してください。リクエストの例
{
"version": "1.0",
"context": {
"System": {
"application": {},
"user": {},
"device": {}
}
},
"request": {
"type": "AudioPlayer.PlaybackFailed",
"requestId": "unique.id.for.the.request",
"timestamp": "リクエストのタイムスタンプ(形式: 2018-04-11T15:15:25Z)",
"token": "現在再生中のストリームを表すトークン",
"offsetInMilliseconds": 0,
"locale": "ja-JPなどのロケールコード",
"error": {
"type": "エラーコード",
"message": "発生したエラーの説明"
},
"currentPlaybackState": {
"token": "エラー発生時に再生していたストリームを表すトークン",
"offsetInMilliseconds": 0,
"playerActivity": "エラー発生時のプレーヤーのステータス(PLAYINGなど)"
}
}
}
リクエストのパラメーター
| パラメーター | 説明 | 型 |
|---|---|---|
type |
AudioPlayer.PlaybackFailed |
文字列 |
requestId |
特定のリクエストの固有IDを表します。 | 文字列 |
timestamp |
ISO 8601形式で表された文字列で、Alexaがリクエストを送信した日時を提供します。[スキルをウェブサービスとしてホスティングしているときに、リクエストを検証する][hosting-as-web-service#timestamp]ために使用されます。 | 文字列 |
token |
Playディレクティブから提供されるopaqueトークンで、再生に失敗したストリームを表します。 |
文字列 |
locale |
ユーザーのロケールを示すstringです。例:ja-JP。[サポートされているロケールコード][service_ref#request-locale]を参照してください。 |
文字列 |
error |
エラー情報を持つオブジェクトが含まれています。 | オブジェクト |
error.type |
特定のタイプのエラーを識別します。各エラータイプの詳細については、再生エラーを参照してください。 | 文字列 |
error.message |
デバイスで発生したエラーの説明です。 | 文字列 |
currentPlaybackState |
エラー発生時の再生アクティビティに関する詳細を提供するオブジェクトが含まれています。 | オブジェクト |
currentPlaybackState.token |
エラー発生時に再生中のオーディオストリームを表すopaqueトークンです。これは、request.tokenプロパティの値と異なる場合があることに注意してください。 |
文字列 |
currentPlaybackState.offsetInMilliseconds |
エラー発生時のトラックのオフセットをミリ秒単位で指定します。 | 長整数 |
currentPlaybackState.playerActivity |
エラー発生時のプレーヤーのステータスを以下のように識別します。 PLAYING、PAUSED、FINISHED、BUFFER_UNDERRUN、またはIDLE。 |
文字列 |
| エラータイプ | 説明 |
|---|---|
MEDIA_ERROR_UNKNOWN |
不明なエラーが発生しました。 |
MEDIA_ERROR_INVALID_REQUEST |
リクエストが不正な形式であるか、認証に失敗したか、アクセス権がないか、該当するものがありません。 |
MEDIA_ERROR_SERVICE_UNAVAILABLE |
AlexaがストリームのURLにアクセスできませんでした。 |
MEDIA_ERROR_INTERNAL_SERVER_ERROR |
Alexaはリクエストを受け取りましたが、適切に処理できませんでした。 |
MEDIA_ERROR_INTERNAL_DEVICE_ERROR |
デバイスで内部エラーが発生しました。 |
応答
スキルは、PlaybackFailedに対して、どのAudioPlayerディレクティブでも応答できます。
応答に以下を含めることはできません。
outputSpeech、card、repromptなどの標準のプロパティ。- ほかのインターフェースのほかのディレクティブ([Dialogディレクティブ][dialog-interface-reference#directives]など)。
AudioPlayerリクエストに対してスキルから応答を返す必要はありません。System.ExceptionEncounteredリクエスト
AudioPlayerリクエストに対する応答が原因でエラーが発生した場合、AlexaからスキルにSystem.ExceptionEncounteredリクエストが送信されます。Alexaは、このリクエストへの応答に含まれるディレクティブをすべて無視します。
リクエストの例
{
"type": "System.ExceptionEncountered",
"requestId": "unique.id.for.the.request",
"timestamp": "次の形式のリクエストのタイムスタンプ: 2018-04-11T15:15:25Z",
"locale": "ja-JPなどのロケールコード",
"error": {
"type": "INVALID_RESPONSEなどのエラーコード",
"message": "発生したエラーの説明"
},
"cause": {
"requestId": "エラーの原因となったリクエストの一意のID"
}
}
リクエストのパラメーター
| パラメーター | 説明 | 型 |
|---|---|---|
type |
System.ExceptionEncountered |
string |
requestId |
特定のリクエストの固有IDを表します。 | string |
timestamp |
ISO 8601形式で表された文字列で、Alexaがリクエストを送信した日時を提供します。[スキルをウェブサービスとしてホスティングしているときに、リクエストを検証する][hosting-as-web-service#timestamp]ために使用されます。 | string |
locale |
ユーザーのロケールを示すstringです。例:ja-JP。[サポートされているロケールコード][service_ref#request-locale]を参照してください。 |
string |
error |
エラー情報を持つオブジェクトが含まれています。 | object |
error.type |
特定のタイプのエラー(INVALID_RESPONSE、DEVICE_COMMUNICATION_ERROR、INTERNAL_ERROR)を識別します。 |
string |
error.message |
デバイスで発生したエラーの説明です。 | string |
cause.requestId |
エラーの原因となったリクエストのrequestIdです。 |
string |
応答
System.ExceptionEncounteredリクエストに対してスキルから応答を返すことはできません。
関連トピック
最終更新日: 2023 年 11 月 07 日