AudioPlayer インターフェース(v1.0)
AudioPlayerインターフェースでは、音声でオーディオ再生をコントロールするディレクティブや、再生の進行の管理や監視のためのイベントが提供されます。再生コントロールをボタン(物理またはGUI)にマッピングしたい場合は、PlaybackControllerインターフェースを参照してください。
- 状態ダイアグラム
- 機能API
- AudioPlayerのコンテキスト
- Playディレクティブ
- PlaybackStartedイベント
- PlaybackNearlyFinishedイベント
- ProgressReportDelayElapsedイベント
- ProgressReportIntervalElapsedイベント
- PlaybackStutterStartedイベント
- PlaybackStutterFinishedイベント
- PlaybackFinishedイベント
- PlaybackFailedイベント
- Stopディレクティブ
- PlaybackStoppedイベント
- PlaybackPausedイベント
- PlaybackResumedイベント
- ClearQueueディレクティブ
- PlaybackQueueClearedイベント
- StreamMetadataExtractedイベント
状態ダイアグラム
以下のダイアグラムは、AudioPlayerコンポーネントによって制御される状態の変化を表しています。箱はAudioPlayerの状態、コネクターは状態の遷移を示します。
AudioPlayerには以下の状態があります。
IDLE:AudioPlayerは、製品の電源を入れるか、再起動され、Play
ディレクティブに従って動作をする前にのみ、idle状態になります。
PLAYING:クライアントがオーディオストリームの再生を開始すると、AudioPlayerはidle状態からplaying状態に遷移します。
クライアントが、オーディオストリームの一時停止または停止などのアクションを実行するよう指示するディレクティブを受信した場合、クライアントでストリームのバッファリングに問題が生じた場合、または再生が失敗した場合は、AudioPlayerはそのアクションが実行されたときに適切な状態に遷移(およびAVSにイベントを送信)する必要があります。それ以外の場合、AudioPlayerは、現在のストリームが完了するまでplaying状態を維持する必要があります。
また、AudioPlayerは、以下の場合にもplaying状態を維持する必要があります。
- AVSに対して再生の進行状況をレポートする
- AVSに対してストリームのメタデータを送信する
STOPPED:AudioPlayerがstopped状態に遷移する必要があるインスタンスは4つあります。playing状態にあるときに以下のイベントが発生すると、AudioPlayerはstopped状態に遷移する必要があります。
- ストリームに問題が検出され、再生に失敗したとき
- クライアントが、AVSから
Stop
ディレクティブを受信したとき clearBehavior
にCLEAR_ALL
が指定されたClearQueue
ディレクティブを受信したときplayBehavior
にREPLACE_ALL
が指定されたPlay
ディレクティブを受信したとき
pausedまたはbuffer_underrun状態にあるときにCLEAR_ALL
にするClearQueue
ディレクティブを受信すると、AudioPlayerはstopped状態に遷移する必要があります。
クライアントでPlay
ディレクティブを受信して、オーディオストリームの再生を開始し、AVSにPlaybackStarted
イベントを送信するとき、AudioPlayerは必ずstopped状態からplaying状態に遷移する必要があります。
PAUSED:ユーザーまたはAlexaの音声対話など、より優先度の高い音声入力/出力を処理するためにContentチャンネル上のオーディオが一時停止した場合、AudioPlayerはpaused状態に遷移する必要があります。優先度の高いアクティビティが完了したら、再生を再開する必要があります。音声入力/出力の優先順位付けの詳細については、対話モデルを参照してください。
BUFFER_UNDERRUN:クライアントのデータフィードが読み上げよりも遅い場合、AudioPlayerはbuffer_underrun状態に遷移する必要があります。AudioPlayerは、再生を再開するのに十分なバッファリングが行われ、playing状態に戻るまでは、この状態を維持する必要があります。
FINISHED:ストリームの再生が終了したら、AudioPlayerはfinished状態に遷移する必要があります。これは、再生キューに入っているすべてのストリームに適用されます。つまり、再生キューにまだ他のストリームが残っている場合でも、1つのストリームの再生が終了するたびに、クライアントからAVSにPlaybackFinished
イベントを送信し、続いてplaying状態からfinished状態に遷移する必要があります。
以下の場合、AudioPlayerはfinished状態からplaying状態に遷移する必要があります。
- クライアントが
Play
ディレクティブを受信したとき - 再生キューの次のストリームの再生を開始したとき(
PlaybackStarted
イベントに続いて)

機能API
AudioPlayerインターフェースのバージョン1.0を使用するには、機能APIの呼び出し内で宣言する必要があります。詳細については、機能APIを参照してください。
オブジェクトのサンプル
{ "type": "AlexaInterface", "interface": "AudioPlayer", "version": "1.0" }
AudioPlayerのコンテキスト
Alexaは、コンテキストが必要な各イベントで、playerActivity
(状態)と現在再生中のメディア項目のoffsetInMilliseconds
がクライアントからレポートされることを想定しています。
コンテキストのレポートの詳細については、コンテキストの概要を参照してください。
サンプルメッセージ
{ "header": { "namespace": "AudioPlayer", "name": "PlaybackState" }, "payload": { "token": "{{STRING}}", "offsetInMilliseconds": {{LONG}}, "playerActivity": "{{STRING}}" } }
ペイロードのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
token | これは、現在再生中のメディア項目のtoken と一致する必要があります。一致しない場合、token は最後に受信したPlay ディレクティブで指定された項目と一致する必要があります。 |
文字列 |
offsetInMilliseconds | トラックの現在のオフセットをミリ秒で示します。 | long |
playerActivity | AudioPlayer のコンポーネントの状態を示します。
有効な値: IDLE 、PLAYING 、STOPPED 、PAUSED 、BUFFER_UNDERRUN 、FINISHED 。 |
文字列 |
プレーヤーのアクティビティ | 説明 |
---|---|
IDLE | 再生中または待機中のオーディオなし。 |
PLAYING | ストリーミング再生中。 |
PAUSED | ストリーミングを一時停止中。 |
BUFFER_UNDERRUN | バッファアンダーランが発生。 |
FINISHED | ストリーミングの再生を終了。 |
STOPPED | ストリーミングを中断。 |
Playディレクティブ
Play
ディレクティブは、オーディオ再生を開始する際にクライアントに送信されます。JSONディレクティブと、1つまでのオーディオストリームまたはバイナリのオーディオ添付ファイルで構成されるマルチパートのメッセージです。
playBehavior
ディレクティブのペイロードに含まれるパラメーターは、クライアントがストリームのキューイングと再生をどう処理するかを判断するのに使用できます。有効な値は、とるべきアクションのヒントを示します。
- REPLACE_ALL:Playディレクティブを返したストリームの再生をすぐに開始し、現在のストリームおよびキューに追加されたストリームを置き換えます。ストリームの再生中に
playBehavior
にREPLACE_ALL
が指定されたPlay
ディレクティブを受信したら、AVSにPlaybackStopped
イベントを送信する必要があります。 - ENQUEUE:ストリームを現在のキューの最後に追加します。
- REPLACE_ENQUEUED:キューのストリームをすべて置き換えます。これにより、現在再生中のストリームが影響を受けることはありません。
expectedPreviousToken
が一致する必要があります。トークンとストリームが一致しない場合は無視されます。ただし、expectedPreviousToken
が返されない場合は、ストリームをキューに追加する必要があります。サンプルメッセージ
{ "directive": { "header": { "namespace": "AudioPlayer", "name": "Play", "messageId": "{{STRING}}", "dialogRequestId": "{{STRING}}" }, "payload": { "playBehavior": "{{STRING}}", "audioItem": { "audioItemId": "{{STRING}}", "stream": { "url": "{{STRING}}", "streamFormat": "AUDIO_MPEG" "offsetInMilliseconds": {{LONG}}, "expiryTime": "{{STRING}}", "progressReport": { "progressReportDelayInMilliseconds": {{LONG}}, "progressReportIntervalInMilliseconds": {{LONG}} }, "token": "{{STRING}}", "expectedPreviousToken": "{{STRING}}" } } } } }
バイナリオーディオ添付ファイル
Play
ディレクティブには、マルチパートのメッセージの一部として、対応するバイナリオーディオ添付ファイルが存在する場合があります。バイナリオーディオ添付ファイルが存在する場合、url
に指定される値にcid
のプレフィックスが含まれます。
バイナリオーディオ添付ファイルの前には、以下のマルチパートヘッダーが含まれます。
Content-Type: application/octet-stream Content-ID: {{Audio Item CID}} {{BINARY AUDIO ATTACHMENT}}
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
dialogRequestId | 特定のRecognize イベントの応答として送信されるディレクティブの関連付けに使用する一意のIDです。 |
文字列 |
ペイロードのパラメーター
Play
でサポートされるすべてのペイロードパラメーターを処理し、それに従って動作するよう設計する必要があります。また、JSONのキー/値ペアがない場合でも動作し続ける必要があります。パラメーター | 説明 | 型 |
---|---|---|
playBehavior | 再生のヒントを示します。有効な値:REPLACE_ALL、ENQUEUE、REPLACE_ENQUEUED
|
文字列 |
audioItem | audioItemsのキー/値ペアが含まれます。 | オブジェクト |
audioItem.audioItemId | audioItemを識別します。 | 文字列 |
audioItem.stream | streamのキー/値ペアが含まれます。 | オブジェクト |
audioItem.stream.url | オーディオコンテンツの場所を識別します。オーディオコンテンツがバイナリオーディオ添付ファイルの場合、値はコンテンツの一意の識別子で、"cid:" の形式で表されます。それ以外の場合、値はリモートのhttp/httpsの場所を示します。 |
文字列 |
audioItem.stream.streamFormat | streamFormat は、Play ディレクティブが関連するバイナリオーディオ添付ファイルを持つ場合に、ペイロードに含まれます。このパラメーターは、関連するオーディオがストリームの場合には存在しません。
有効な値:AUDIO_MPEG |
文字列 |
audioItem.stream.offsetInMilliseconds | クライアントがストリーム内のどこから再生を開始するべきかを示すタイムスタンプ。たとえば、offsetInMilliseconds が0 に設定されているとき、このパラメーターはストリームの0の位置、または最初から再生することを示します。それ以外の値は、指定されたオフセットから再生を開始することを示します。 |
long |
audioItem.stream.expiryTime | ストリームがいつ無効になるかを示すISO 8601形式の日付と時刻です。 | 文字列 |
audioItem.stream.progressReport | 進行状況レポートのキー/値ペアが含まれます。 | オブジェクト |
audioItem.stream.progressReport. progressReportDelayInMilliseconds | AVSにProgressReportDelayElapsed イベントを送るタイミングをミリ秒で指定します。 ProgressReportDelayElapsed 指定されたインターバル後に1回だけ送信します。注:楽曲プロバイダーの一部には、このレポートが不要なものもあります。レポートが不要な場合、progressReportDelayInMilliseconds はペイロードに存在しません。 |
long |
audioItem.stream.progressReport. progressReportIntervalInMilliseconds | AVSにProgressReportIntervalElapsed イベントを送るタイミングをミリ秒で指定します。 ProgressReportIntervalElapsed 指定されたインターバル後に定期的に送信します。注:楽曲プロバイダーの一部には、このレポートが不要なものもあります。レポートが不要な場合、progressReportIntervalInMilliseconds はペイロードに存在しません。 |
long |
audioItem.stream.token | 現在のストリームを表す不透明なトークンです。 | 文字列 |
audioItem.stream. expectedPreviousToken |
想定される前のストリームを表す不透明なトークンです。 | 文字列 |
PlaybackStartedイベント
PlaybackStarted
イベントは、クライアントがPlay
ディレクティブを処理して関連するオーディオストリームの再生を開始した後、AVSに対して送信される必要があります。
PlaybackStarted
イベントが想定されます。プレイリストのURL(複数のURLで構成される)を受信した場合でも、送信するPlaybackStarted
イベントは1つだけにしてください。サンプルメッセージ
{ "event": { "header": { "namespace": "AudioPlayer", "name": "PlaybackStarted", "messageId": "{{STRING}}" }, "payload": { "token": "{{STRING}}", "offsetInMilliseconds": {{LONG}} } } }
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
ペイロードのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
token | Play ディレクティブで提供される不透明なトークンです。 |
文字列 |
offsetInMilliseconds | トラックの現在のオフセットをミリ秒で示します。 | long |
PlaybackNearlyFinishedイベント
PlaybackNearlyFinished
イベントは、クライアントが再生キューの次のストリームのバッファリングまたはダウンロードする準備が整ったときに送信される必要があります。クライアントでは、このイベントを現在再生中のストリームのPlaybackStarted
イベントに続いてのみ送信しなければなりません。Alexaは、以下のいずれかの場合に、このイベントに応答します。
- 次のストリームを含む
Play
ディレクティブ - HTTP 204応答コード
PlaybackNearlyFinished
イベントをAlexaに送信する前に、前の曲をバッファリングされるまで待機することを検討します。これにより、expiryTime
を超えるリスクが低減し、ダウンロード中、複数のPlay
ディレクティブの同時処理中に再生の途切れが発生する頻度を減らすことができます。サンプルメッセージ
{ "event": { "header": { "namespace": "AudioPlayer", "name": "PlaybackNearlyFinished", "messageId": "{{STRING}}" }, "payload": { "token": "{{STRING}}", "offsetInMilliseconds": {{LONG}} } } }
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
ペイロードのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
token | Play ディレクティブで提供される不透明なトークンです。 |
文字列 |
offsetInMilliseconds | トラックの現在のオフセットをミリ秒で示します。 | long |
ProgressReportDelayElapsedイベント
ProgressReportDelayElapsed
イベントは、Play
ディレクティブにprogressReportDelayInMilliseconds
が存在する場合にAVSに送信される必要があります。イベントは、ストリームの最初から指定したインターバルが経過した後に1回のみ送信される必要があります(offsetInMilliseconds
からではありません)。たとえば、Play
ディレクティブに含まれるprogressReportDelayInMilliseconds
の値が20000
の場合、ProgressReportDelayElapsed
イベントはトラックの最初から20,000ミリ秒経過した後に送信される必要があります。ただし、Play
ディレクティブに含まれるoffsetInMilliseconds
の値が10000
で、progressReportDelayInMilliseconds
の値が20000
の場合、イベントは再生の最初から10,000ミリ秒経過した後に送信される必要があります。これは、進行状況レポートが、Play
ディレクティブのオフセットではなく、ストリームの最初から起算されて送信されるためです。
サンプルメッセージ
{ "event": { "header": { "namespace": "AudioPlayer", "name": "ProgressReportDelayElapsed", "messageId": "{{STRING}}" }, "payload": { "token": "{{STRING}}", "offsetInMilliseconds": {{LONG}} } } }
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
ペイロードのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
token | Play ディレクティブで提供される不透明なトークンです。 |
文字列 |
offsetInMilliseconds | トラックの現在のオフセットをミリ秒で示します。 | long |
ProgressReportIntervalElapsedイベント
ProgressReportIntervalElapsed
イベントは、Play
ディレクティブにprogressReportIntervalInMilliseconds
が存在する場合にAVSに送信される必要があります。イベントは、ストリームの最初から指定したインターバルが経過した後に定期的に送信される必要があります(offsetInMilliseconds
からではありません)。たとえば、Play
ディレクティブに含まれるのprogressReportIntervalInMilliseconds
値が20000
の場合、ProgressReportIntervalElapsed
イベントはトラックの最初から20,000ミリ秒経過した後、およびストリームの最後まで20,000ミリ秒ごとに送信される必要があります。ただし、Play
ディレクティブに含まれるoffsetInMilliseconds
の値が10000
で、progressReportIntervalInMilliseconds
の値が20000
の場合、イベントは再生の最初から10,000ミリ秒後、およびストリームの最後まで20,000ミリ秒ごとに送信される必要があります。これは、指定されたインターバルが、Play
ディレクティブのオフセットではなく、ストリームの最初から起算されるためです。
サンプルメッセージ
{ "event": { "header": { "namespace": "AudioPlayer", "name": "ProgressReportIntervalElapsed", "messageId": "{{STRING}}" }, "payload": { "token": "{{STRING}}", "offsetInMilliseconds": {{LONG}} } } }
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
ペイロードのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
token | Play ディレクティブで提供される不透明なトークンです。 |
文字列 |
offsetInMilliseconds | トラックの現在のオフセットをミリ秒で示します。 | long |
PlaybackStutterStartedイベント
PlaybackStutterStarted
イベントは、クライアントのAudioPlayerコンポーネントのデータフィードが読み上げよりも遅い場合、PlaybackStarted
イベントに続けてAVSに送信される必要があります。コンポーネントは、このイベントが送信されたらbuffer_underrun状態に遷移し、再生を再開するのに十分なバッファリングが行われるまでこの状態を維持する必要があります。
サンプルメッセージ
{ "event": { "header": { "namespace": "AudioPlayer", "name": "PlaybackStutterStarted", "messageId": "{{STRING}}" }, "payload": { "token": "{{STRING}}", "offsetInMilliseconds": {{LONG}} } } }
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
ペイロードのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
token | Play ディレクティブで提供される不透明なトークンです。 |
文字列 |
offsetInMilliseconds | トラックの現在のオフセットをミリ秒で示します。 | long |
PlaybackStutterFinishedイベント
PlaybackStutterFinished
イベントは、ストリームの再生を再開するのに十分なバッファリングが行われたときにAVSに対して送信される必要があります。AVSは、オーディオ再生再開時に後続のPlaybackStarted
イベントを待つことはありません。
サンプルメッセージ
{ "event": { "header": { "namespace": "AudioPlayer", "name": "PlaybackStutterFinished", "messageId": "{{STRING}}" }, "payload": { "token": "{{STRING}}", "offsetInMilliseconds": {{LONG}}, "stutterDurationInMilliseconds": {{LONG}} } } }
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
ペイロードのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
token | Play ディレクティブで提供される不透明なトークンです。 |
文字列 |
offsetInMilliseconds | トラックの現在のオフセットをミリ秒で示します。 | long |
stutterDurationInMilliseconds | スタッターの持続時間をミリ秒で示します。 | long |
PlaybackFinishedイベント
PlaybackFinished
イベントは、クライアントがストリームの再生を終了するときにAVSに対して送信される必要があります。
以下の場合には、このイベントは送信されません。
- 再生が停止されたとき(ローカルで、または
Stop
ディレクティブの結果として) - ストリーム間の移動(次/前)
PlaybackFinished
イベントが想定されます。プレイリストのURL(複数のURLで構成される)を受信した場合でも、送信するPlaybackFinished
イベントは1つだけにしてください。サンプルメッセージ
{ "event": { "header": { "namespace": "AudioPlayer", "name": "PlaybackFinished", "messageId": "{{STRING}}" }, "payload": { "token": "{{STRING}}", "offsetInMilliseconds": {{LONG}} } } }
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
ペイロードのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
token | Play ディレクティブで提供される不透明なトークンです。 |
文字列 |
offsetInMilliseconds | トラックの現在のオフセットをミリ秒で示します。 | long |
PlaybackFailedイベント
PlaybackFailed
イベントは、クライアントがストリームの再生試行中にエラーを検出するたびに、AVSに対して送信される必要があります。ストリームを再生中で、次のストリームのバッファリングに失敗した場合には、currentPlaybackToken
がペイロード内のtoken
と異なる可能性があります。
サンプルメッセージ
{ "event": { "header": { "namespace": "AudioPlayer", "name": "PlaybackFailed", "messageId": "{{STRING}}" }, "payload": { "token": "{{STRING}}", "currentPlaybackState": { "token": "{{STRING}}", "offsetInMilliseconds": {{LONG}}, "playerActivity": "{{STRING}}" }, "error": { "type": "{{STRING}}", "message": "{{STRING}}" } } } }
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
ペイロードのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
token | Play ディレクティブから提供される不透明なトークンで、再生に失敗したストリームを表します。 |
文字列 |
currentPlaybackState | playbackStateオブジェクトのキー/値ペアが含まれます。 | オブジェクト |
playbackState.token | Play ディレクティブで提供される不透明なトークンです。 |
文字列 |
playbackState.offsetInMilliseconds | トラックの現在のオフセットをミリ秒で示します。 | long |
playbackState.playerActivity | プレーヤーの状態を示します。
有効な値:PLAYING、STOPPED、PAUSED、FINISHED、BUFFER_UNDERRUN、IDLE |
文字列 |
error | エラーメッセージのキー/値ペアが含まれます。 | オブジェクト |
error.type | 特定のタイプのエラーを識別します。各エラータイプの詳細は、以下の表に記載されています。 | 文字列 |
error.message | 端末で発生したエラーの説明です。ログの目的にのみ使用されます。HTTP関連のエラーの場合、エラーメッセージにHTTPエラー応答の本文が含まれる必要があります(存在する場合)。 | 文字列 |
エラータイプ
値 | 説明 |
---|---|
MEDIA_ERROR_UNKNOWN | 不明なエラーが発生しました。 |
MEDIA_ERROR_INVALID_REQUEST | サーバーで、リクエストが不正なフォーマットであると認識されました。
たとえば、エラーがある、認証に失敗した、アクセス権がない、該当するものがない、などがあります。 |
MEDIA_ERROR_SERVICE_UNAVAILABLE | クライアントがサービスに到達できませんでした。 |
MEDIA_ERROR_INTERNAL_SERVER_ERROR | 有効なリクエストではあるものの、サーバーが適切に処理できませんでした。 |
MEDIA_ERROR_INTERNAL_DEVICE_ERROR | クライアントで内部エラーが発生しました。 |
Stopディレクティブ
Stop
ディレクティブは、オーディオストリームの再生を停止する際にクライアントに送信されます。クライアントは、音声リクエスト、物理ボタンの押下、またはGUIアフォーダンスの機能の結果として、Stop
ディレクティブを受信する場合があります。
サンプルメッセージ
{ "directive": { "header": { "namespace": "AudioPlayer", "name": "Stop", "messageId": "{{STRING}}", "dialogRequestId": "{{STRING}}" }, "payload": { } } }
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
dialogRequestId | 特定のRecognize イベントの応答として送信されるディレクティブの関連付けに使用する一意のID |
文字列 |
PlaybackStoppedイベント
PlaybackStopped
イベントは、クライアントが以下のいずれかのディレクティブを受信してオーディオストリームの再生を停止したときに、AVSに対して送信される必要があります。
Stop
ディレクティブPlay
ディレクティブを受信し、playBehavior
に次の値が指定されているとき:REPLACE_ALL
ClearQueue
ディレクティブを受信し、clearBehavior
に次の値が指定されているとき:CLEAR_ALL
PlaybackFinished
を参照してください)。サンプルメッセージ
{ "event": { "header": { "namespace": "AudioPlayer", "name": "PlaybackStopped", "messageId": "{{STRING}}" }, "payload": { "token": "{{STRING}}", "offsetInMilliseconds": {{LONG}} } } }
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
ペイロードのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
token | Play ディレクティブで提供される不透明なトークンです。 |
文字列 |
offsetInMilliseconds | トラックの現在のオフセットをミリ秒で示します。 | long |
PlaybackPausedイベント
PlaybackPaused
イベントは、クライアントがより優先度の高い入力/出力を処理するためにContentチャンネル上のオーディオを一時停止したときに送信される必要があります。優先度の高いアクティビティが完了したら、クライアントは再生を再開し、その時点でPlaybackResumed
イベントを送信する必要があります。音声入力/出力の優先順位付けの詳細については、対話モデルを参照してください。
PlaybackPaused
は、レイテンシーを低減するためにRecognizeイベントの後に送信される必要があります。サンプルメッセージ
{ "event": { "header": { "namespace": "AudioPlayer", "name": "PlaybackPaused", "messageId": "{{STRING}}" }, "payload": { "token": "{{STRING}}", "offsetInMilliseconds": {{LONG}} } } }
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
ペイロードのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
token | Play ディレクティブで提供される不透明なトークンです。 |
文字列 |
offsetInMilliseconds | トラックの現在のオフセットをミリ秒で示します。 | long |
PlaybackResumedイベント
PlaybackResumed
イベントは、PlaybackPaused
イベント(より優先度の高い入力/出力を処理するためにContentチャンネル上のオーディオが一時停止した)の後に再生が再開したときにAVSに対して送信される必要があります。音声入力/出力の優先順位付けの詳細については、対話モデルを参照してください。
サンプルメッセージ
{ "event": { "header": { "namespace": "AudioPlayer", "name": "PlaybackResumed", "messageId": "{{STRING}}" }, "payload": { "token": "{{STRING}}", "offsetInMilliseconds": {{LONG}} } } }
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
ペイロードのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
token | Play ディレクティブで提供される不透明なトークンです。 |
文字列 |
offsetInMilliseconds | トラックの現在のオフセットをミリ秒で示します。 | long |
ClearQueueディレクティブ
ClearQueue
ディレクティブは、再生キューをクリアする際にAVSからクライアントに送信されます。ClearQueue
ディレクティブの動作には、CLEAR_ENQUEUED
(キューをクリアして現在のストリームの再生を続ける)とCLEAR_ALL
(再生キューをすべてクリアし、現在再生中のストリーム(ある場合)を中止する)という2つの動作があります。
サンプルメッセージ
{ "directive": { "header": { "namespace": "AudioPlayer", "name": "ClearQueue", "messageId": "{{STRING}}", "dialogRequestId": "{{STRING}}" }, "payload": { "clearBehavior": "{{STRING}}" } } }
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
dialogRequestId | 特定のRecognize イベントの応答として送信されるディレクティブの関連付けに使用する一意のID |
文字列 |
ペイロードのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
clearBehavior | キューをクリアする動作を指定する文字列値。
有効な値: CLEAR_ENQUEUED および CLEAR_ALL |
文字列 |
PlaybackQueueClearedイベント
PlaybackQueueCleared
イベントは、クライアントがClearQueue
ディレクティブを処理した後にAVSに送信される必要があります。
サンプルメッセージ
{ "event": { "header": { "namespace": "AudioPlayer", "name": "PlaybackQueueCleared", "messageId": "{{STRING}}" }, "payload": { } } }
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
ペイロードのパラメーター
空のペイロードが送信される必要があります。
StreamMetadataExtractedイベント
クライアントが受信して再生を開始するオーディオストリームでメタデータを利用可能な場合、クライアントは未加工データとして受信したキー/値ペアを取得して、JSONオブジェクトに置き換える必要があります。このJSONオブジェクトでは、文字列と数字はJSON文字列として表され、ブール値はJSONブール値として表される必要があります。クライアントは、バイナリーデータを含むタグをすべて取り除く必要があります。たとえば、クライアントは、画像、画像のプレビュー、添付ファイル、アプリケーションデータのタグをAVSに送信すべきではありません。
サンプルメッセージ
{ "event": { "header": { "namespace": "AudioPlayer", "name": "StreamMetadataExtracted", "messageId": "{{STRING}}" }, "payload": { "token": "{{STRING}}", "metadata": { "{{STRING}}": "{{STRING}}", "{{STRING}}": {{BOOLEAN}} "{{STRING}}": "{{STRING NUMBER}}" } } } }
ヘッダーのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
messageId | 特定のメッセージを表すのに使用する一意のIDです。 | 文字列 |
ペイロードのパラメーター
パラメーター | 説明 | 型 |
---|---|---|
token | Play ディレクティブで提供される不透明なトークンです。 |
文字列 |
metadata | 受信したメタデータに関連付けられたキー/値ペアが含まれます。 | オブジェクト |