APLメディアコマンド



APLメディアコマンド

以下は、画面付きのAlexa搭載デバイスでのメディア再生に関連するコマンドです。関連トピック: APLコマンドの概要およびAPL標準コマンド

PlayMedia

ビデオプレイヤーでメディアを再生します。

PlayMediaコマンドには、標準的なコマンドプロパティに加えて以下のプロパティがあります。

プロパティ デフォルト 説明
audioTrack backgroundforegroundnone foreground 再生するオーディオトラックです。デフォルトはforegroundです。
componentId 文字列 SELF コンポーネントを再生しているメディアの名前です。
source URLまたはソース配列 必須 メディアのソースです。

既にコンテンツを再生しているプレイヤーでPlayMediaコマンドを実行すると、再生中のコンテンツが停止し、すべての既存のソースデータが消去され、新しく取り込まれたソースデータに置き換えられます。このメディアコンテンツは自動的に取り込まれ、再生が始まります。

PlayMediaコマンドの有効期間は、audioTrackで設定します。audioTrackが「foreground」に設定されていると、メディアが再生されている間はPlayMediaコマンドは有効です。audioTrackが「background」または「none」に設定されていると、PlayMediaコマンドは直ちに制御を返します。たとえば、メディアトラックに続けて音声を読み上げるには、次のように記述します。

{
  "type": "Sequential",
  "items": [
    {
      "type": "PlayMedia",
      "componentId": "myAudioPlayer"
      "source": "http://music.amazon.com/s3/MAGIC_TRACK_HERE",
      "audioTrack": "foreground"
    },
    {
      "type": "SpeakItem",
      "componentId": "mySpokenItem"
    }
  ]
}

上記の場合、SpeakItemコマンドは、メディアトラックの再生が終了した後に実行されます。audioTrackが「background」に設定されている場合、SpeakItemコマンドは、メディアトラックの再生が開始した直後に実行されます。PlayMediaコマンドが早期終了(ユーザーが画面をタッチしたり、Alexaから新しいコマンドを受け取ったりした場合など)すると、audioTrackが「foreground」に設定されている場合にのみビデオの再生が停止します。audioTrackが「background」の場合、PlayMediaコマンドは既に終了しているため、何も停止しません。

PlayMediaコマンドは、高速モードでは無視されます。

audioTrack

VideoコンポーネントにあるaudioTrackプロパティを参照してください。

componentId

MediaコンポーネントのIDです。省略された場合は、現在のコンポーネントが使用されます。

source

sourceプロパティの定義については、Videoを参照してください。

ControlMedia

メディアプレイヤーの再生、停止、トラックの変更、その他よく使われるアクションの操作を行います。

ControlMediaコマンドには、標準のコマンドプロパティに加えて以下のプロパティがあります。

プロパティ デフォルト 説明
command play | pause | rewind | … 必須 メディアプレイヤーで使うコマンドです。
componentId 文字列 SELF コンポーネントを再生しているメディアの名前です。
value 整数 0 任意のデータ値です。

次に例を示します:

{
    "type": "ControlMedia",
    "componentId": "myAudioPlayer",
    "command": "next"
}

ControlMediaコマンドは、高速モードでのほとんどの操作をサポートしています。例外は、playサブコマンドです。

command

command列挙値は、メディアプレイヤーで実行される操作です。利用可能なコマンドは次のとおりです。

プロパティ 再生状態/一時停止状態 高速モード 説明
play 再生中 なし メディアを再生します。
pause 一時停止 なし メディア再生を停止します。
next 一時停止 なし ソース配列で次のメディアトラックを開きます。
previous 一時停止 なし ソース配列で前のメディアトラックを開きます。
rewind 一時停止 なし 再生中のメディアトラックを最初まで早戻しします。
seek 一時停止 オフセット(ミリ秒) メディアの再生位置を変更します。
setTrack 一時停止 トラックインデックス ソース配列の現在のトラックを変更します。

play

現在のメディアトラックと位置からの再生を開始します。このコマンドは、ビデオトラックの現在のリピートカウンターには影響しません。ビデオが再生されていない場合は、onPlayイベントが生成されます。次に例を示します:

{
  "type": "ControlMedia",
  "componentId": "myAudioPlayer",
  "command": "play"
}

pause

ビデオ再生を停止します。ビデオが現在再生中の場合は、onPauseイベントが生成されます。次に例を示します:

{
  "type": "ControlMedia",
  "componentId": "myAudioPlayer",
  "command": "pause"
}

next

ビデオ再生を停止して、次のビデオトラックの先頭に進みます。リピートカウンターは、新しいビデオトラックにも適用されます(たとえば、ビデオトラックが2回繰り返すように設定されている場合、再生を実行するコマンドを発行すると新しいビデオトラックを合計で3回繰り返すことになります)。ビデオプレイヤーが既に最後のビデオトラックである場合、ビデオのシーク位置は最後のビデオトラックに移動し、リピートカウンターはゼロになります。

次に例を示します:

{
  "type": "ControlMedia",
  "componentId": "myAudioPlayer",
  "command": "next"
}

このコマンドが発行されても、ビデオ再生は自動で開始されません。ビデオ再生を開始するには、明示的にplayコマンドを実行する必要があります。

previous

ビデオ再生を停止して、前のビデオトラックの先頭に進みます。リピートカウンターは、新しいビデオトラックにも適用されます(たとえば、ビデオトラックが2回繰り返すように設定されている場合、再生を実行するコマンドを発行すると新しいビデオトラックを合計で3回繰り返すことになります)。ビデオプレイヤーが最初のビデオトラックである場合、ビデオのシーク位置は最初のビデオトラックの先頭に移動し、リピートカウンターはリロードされます。

次に例を示します:

{
  "type": "ControlMedia",
  "componentId": "myAudioPlayer",
  "command": "previous"
}

rewind

ビデオ再生を一時停止して、現在のビデオトラックをリロードします。新しいビデオトラックのリピートカウンターはリロードされます。

次に例を示します:

{
  "type": "ControlMedia",
  "componentId": "myAudioPlayer",
  "command": "rewind"
}

このコマンドが発行されても、ビデオ再生は自動で開始されません。ビデオ再生を開始するには、明示的に「play」コマンドを実行する必要があります。

seek

ビデオ再生を停止して、プレイヤーの位置を変更します。この値には、必要なオフセットが設定されます。このオフセットはトラックオフセットおよび時間に対して相対的に決定され、その範囲内で設定されます。たとえば、ビデオトラックのオフセットが500ミリ秒で時間が1000ミリ秒であるとします。オフセットを0としてseekを実行すると、実際の位置は500ミリ秒という結果になります。オフセットを5000としてseekを実行すると、seekのオフセットが定義されたビデオトラックの範囲に設定されるため、実際の位置は1500ミリ秒という結果になります。

現在のビデオトラックのリピートカウンターは変更されません。

次に例を示します:

{
  "type": "ControlMedia",
  "componentId": "myAudioPlayer",
  "command": "seek",
  "value": 5000
}

このコマンドが発行されても、ビデオ再生は自動で開始されません。ビデオ再生を開始するには、明示的にplayコマンドを実行する必要があります。

setTrack

ビデオ再生を停止して、現在のトラックを変更します。指定の0から始まるトラックインデックスを、コマンドデータオブジェクトに渡す必要があります。このインデックスは、ソース配列内の有効なインデックスである必要があり、有効でない場合はコマンドは無視されます。トラックを変更しない場合でも、トラックのリピートカウンタはリロードされます。

次に例を示します:

{
  "type": "ControlMedia",
  "componentId": "myAudioPlayer",
  "command": "setTrack",
  "value": 2
}

このコマンドが発行されても、ビデオ再生は自動で開始されません。ビデオ再生を開始するには、明示的に「play」コマンドを実行する必要があります。

componentId

MediaコンポーネントのIDです。省略された場合は、現在のコンポーネントが使用されます。

value

コマンドに設定する値です。seekコマンドとsetTrackコマンドに使用されます。