APLメディアコマンド
以下は、画面付きのAlexa搭載デバイスでのメディア再生に関連するコマンドです。関連トピック: APLコマンドの概要およびAPL標準コマンド
PlayMedia
ビデオプレイヤーでメディアを再生します。
PlayMedia
コマンドには、標準的なコマンドプロパティに加えて以下のプロパティがあります。
プロパティ | 型 | デフォルト | 説明 |
---|---|---|---|
audioTrack |
background 、foreground 、none |
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
コマンドに使用されます。