コマンド--メディア



コマンドーメディア

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

PlayMedia

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

PlayMediaコマンドでは次の問題が発生することがわかっています。

  • sourceプロパティは、ビデオURLの配列をサポートしておらず、単一のURLのみをサポートします。
  • PlayMediaコマンドは、Videoコンポーネントで既に実行されているビデオは置き換えません。
  • SpeakItemコマンドかSpeakListコマンドがSequentialコマンドのPlayMediaコマンドで使用された場合、ビデオを再生すると音声が中断されます。これはaudioTrack=foregroundのビデオで発生する問題です。これが修正されると、ビデオと音声は連続的に再生されるようになります。
  • TouchWrapper.onPressなどのイベントハンドラー、およびすべてのExecuteCommandディレクティブでは、含まれるPlayMediaコマンドまたはControlMediaコマンドは1つのみです。複数のPlayMediaコマンドまたはControlMediaコマンドが含まれている場合、コマンドが正常に実行されない可能性があります。

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

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

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

audioTrack

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

componentId

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

source

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

ControlMedia

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

ControlMediaコマンドでは次の問題が発生することがわかっています。

  • command=previousまたはcommand=nextと設定すると、正しく動作しないことがあります。
  • SpeakItemコマンドかSpeakListコマンドがSequentialコマンドのControlMediaコマンドで使用された場合、ビデオを再生すると音声が中断されます。これはaudioTrack=foregroundのビデオで発生する問題です。これが修正されると、ビデオと音声は連続的に再生されるようになります。
  • seekコマンドでは現在、相対オフセットは考慮されません。seekコマンドを使う場合、ビデオ内での値の絶対位置を探します。これが修正されると、seekコマンドはビデオの現在のオフセットを考慮した上で、seekの値を追加します。
  • TouchWrapper.onPressなどのイベントハンドラー、およびすべてのExecuteCommandディレクティブでは、含まれるPlayMediaコマンドまたはControlMediaコマンドは1つのみです。複数のPlayMediaコマンドまたはControlMediaコマンドが含まれている場合、コマンドが正常に実行されない可能性があります。

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

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

例を次に示します。

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

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回繰り返すように設定されている場合、playコマンドはこの新しいビデオトラックを合計で3回繰り返すことになります。ビデオプレイヤーが既に最後のビデオトラックである場合、ビデオのシーク位置は最後のビデオトラックに移動し、リピートカウンターはゼロになります。

例を次に示します。

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

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

previous

ビデオ再生を停止して、前のビデオトラックに進みます。リピートカウンターは、新しいビデオトラックにも適用されます(たとえば、ビデオトラックが2回繰り返すように設定されている場合、playコマンドを実行すると新しいビデオトラックを合計で3回繰り返すことになります)。ビデオプレイヤーが既に最初のトラックを再生している場合、そのトラックの再生が続きますが、リピートカウンターはリロードされます。このコマンドが発行されても、ビデオ再生は自動で開始されません。ビデオ再生を開始するには、明示的に「play」コマンドを実行する必要があります。

例を次に示します。

{
  "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から始まるトラックインデックスを、commandデータオブジェクトに渡す必要があります。このインデックスは、ソース配列内の有効なインデックスである必要があり、有効でない場合はコマンドは無視されます。例を次に示します。

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

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

componentId

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

value

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