AudioPlayer インターフェース(v1.0)

AudioPlayerインターフェースでは、音声でオーディオ再生をコントロールするディレクティブや、再生の進行の管理や監視のためのイベントが提供されます。再生コントロールをボタン(物理またはGUI)にマッピングしたい場合は、PlaybackControllerインターフェースを参照してください。

状態ダイアグラム

以下のダイアグラムは、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ディレクティブを受信したとき
  • clearBehaviorCLEAR_ALLが指定されたClearQueueディレクティブを受信したとき
  • playBehaviorREPLACE_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イベントに続いて)
AudioPlayerの状態ダイアグラム
クリックして拡大

機能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のコンポーネントの状態を示します。
有効な値IDLEPLAYINGSTOPPEDPAUSEDBUFFER_UNDERRUNFINISHED
文字列
プレーヤーのアクティビティ 説明
IDLE 再生中または待機中のオーディオなし。
PLAYING ストリーミング再生中。
PAUSED ストリーミングを一時停止中。
BUFFER_UNDERRUN バッファアンダーランが発生。
FINISHED ストリーミングの再生を終了。
STOPPED ストリーミングを中断。

Playディレクティブ

Playディレクティブは、オーディオ再生を開始する際にクライアントに送信されます。JSONディレクティブと、1つまでのオーディオストリームまたはバイナリのオーディオ添付ファイルで構成されるマルチパートのメッセージです。

playBehaviorディレクティブのペイロードに含まれるパラメーターは、クライアントがストリームのキューイングと再生をどう処理するかを判断するのに使用できます。有効な値は、とるべきアクションのヒントを示します。

  • REPLACE_ALL:Playディレクティブを返したストリームの再生をすぐに開始し、現在のストリームおよびキューに追加されたストリームを置き換えます。ストリームの再生中にplayBehaviorREPLACE_ALLが指定されたPlayディレクティブを受信したら、AVSにPlaybackStoppedイベントを送信する必要があります。
  • ENQUEUE:ストリームを現在のキューの最後に追加します。
  • REPLACE_ENQUEUED:キューのストリームをすべて置き換えます。これにより、現在再生中のストリームが影響を受けることはありません。

サンプルメッセージ

{
    "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です。 文字列

ペイロードのパラメーター

パラメーター 説明
playBehavior 再生のヒントを示します。有効な値:REPLACE_ALL、ENQUEUE、REPLACE_ENQUEUED
  • REPLACE_ALLPlayディレクティブを返したストリームの再生をすぐに開始し、現在のストリームおよびキューに追加されたストリームを置き換えます。
  • 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 クライアントがストリーム内のどこから再生を開始するべきかを示すタイムスタンプ。たとえば、offsetInMilliseconds0に設定されているとき、このパラメーターはストリームの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に対して送信される必要があります。

サンプルメッセージ

{
    "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応答コード

サンプルメッセージ

{
    "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ディレクティブの結果として)
  • ストリーム間の移動(次/前)

サンプルメッセージ

{
    "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

サンプルメッセージ

{
    "event": {
        "header": {
            "namespace": "AudioPlayer",
            "name": "PlaybackStopped",
            "messageId": "{{STRING}}"
        },
        "payload": {
            "token": "{{STRING}}",
            "offsetInMilliseconds": {{LONG}}
        }
    }
}

ヘッダーのパラメーター

パラメーター 説明
messageId 特定のメッセージを表すのに使用する一意のIDです。 文字列

ペイロードのパラメーター

パラメーター 説明
token Playディレクティブで提供される不透明なトークンです。 文字列
offsetInMilliseconds トラックの現在のオフセットをミリ秒で示します。 long

PlaybackPausedイベント

PlaybackPausedイベントは、クライアントがより優先度の高い入力/出力を処理するためにContentチャンネル上のオーディオを一時停止したときに送信される必要があります。優先度の高いアクティビティが完了したら、クライアントは再生を再開し、その時点でPlaybackResumedイベントを送信する必要があります。音声入力/出力の優先順位付けの詳細については、対話モデルを参照してください。

サンプルメッセージ

{
    "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 受信したメタデータに関連付けられたキー/値ペアが含まれます。 オブジェクト