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
に関する以下のプロパティは、オーディオの背景画像とアルバムアートを表示するときには使用されないため、オブジェクトに含める必要はありません。contentDescription
size
widthPixels
heightPixels
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がオーディオストリームの再生を停止したときに送信されます。
Stop
Play
とREPLACE_ALL
のplayBehavior
ClearQueue
と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 日