Transport Controls


Transport Controls

Alexa Transport Controlsレスポンシブ対応コンポーネント(AlexaTransportControls)は、ビデオプレーヤーコントロールのセットを表示します。ボタンの外観をカスタマイズし、ユーザーがボタンを選択したときに実行するコマンドを定義します。

互換性

AlexaTransportControlsは、次のビューポートプロファイルで動作するように設計されています。

  • alexa-viewport-profilesパッケージの以下のウィジェットビューポートプロファイル:
    • ウィジェット、中(@hubWidgetMedium
  • alexa-viewport-profilesパッケージのすべての標準ビューポートプロファイル:
    • すべての円形デバイスプロファイル
    • すべての横長デバイスプロファイル
    • すべての縦長デバイスプロファイル
    • すべてのモバイルプロファイル
    • すべてのテレビプロファイル

ビューポートプロファイルの詳細については、ビューポートプロファイルを参照してください。

サポートされていないビューポートでAlexaTransportControlsを使用すると、予期しない結果になることがあります。

ウィジェットでの相違点

ウィジェットでは、ビデオの再生はサポートされません。ウィジェットでは、AlexaTransportControlsを使用して、スキルを開いて全画面でビデオ再生するための「再生」ボタンを表示できます。

alexa-layoutsパッケージを読み込む

AlexaTransportControlsを使用するには、alexa-layoutsパッケージを読み込みます

alexa-layoutsパッケージの最新バージョンは1.7.0です。AlexaTransportControlsはバージョン1.0.0で導入されました。

このページの上部にあるその他のバージョンオプションをクリックすると、別のバージョンのAlexaTransportControlsドキュメントが表示されます。パラメーターの表には、それぞれのパラメーターが追加されたalexa-layoutsのバージョンが示されています。

AlexaTransportControlsのパラメーター

type以外のパラメーターはすべてオプションです。

名前 デフォルト 説明 ウィジェットのサポート 追加されたバージョン

accessibilityLabel

文字列

Play pause button

再生/一時停止ボタンを説明する文字列です。ユーザーが再生/一時停止ボタンを選択すると、ボイスオーバーでこの文字列が読み上げられます。


1.2.0

autoplay

ブール値

false

再生/一時停止アイコンの開始状態を決定します。これは、メディア再生コンポーネントの自動再生状態と一致する必要があります。

サポートされません

1.0.0

entities

配列

このコンポーネントにバインドするentityデータの配列です。


1.2.0

mediaComponentId

文字列

メディアを再生しているコンポーネントのIDです。たとえば、制御するビデオを表示するVideoコンポーネントのIDです。

サポートされません

1.0.0

playPauseToggleButtonId

文字列

alexaPlayPauseToggleButton

再生/一時停止切り替えボタンの任意のIDです。このプロパティを使用して、VideoコンポーネントのonPlay/onPauseハンドラーなど、ほかのコマンドでトランスポートコントロールコンポーネントを識別します。AlexaTransportControlsの複数のインスタンスを同じ画面に表示する場合も、一意の識別子を設定する必要があります。

サポートされません

1.0.0

primaryControlPauseAction

コマンド

ControlMediaコマンド

ユーザーがプライマリ一時停止コントロールを選択したときに実行するコマンドです。

設定されていない場合、コントロールを選択すると、コントロールの再生/一時停止アイコンが切り替わり、pauseオプションとmediaComponentIdで指定されたメディアコンポーネントを使用してControlMediaコマンドが実行されます。ウィジェットで使用した場合、このコマンドは全画面表示のビデオエクスペリエンスを開始します。


1.2.0

primaryControlPlayAction

コマンド

ControlMediaコマンド

ユーザーがプライマリ再生コントロールを選択したときに実行するコマンドです。

設定されていない場合、コントロールを選択すると、コントロールの再生/一時停止アイコンが切り替わり、playオプションとmediaComponentIdで指定されたメディアコンポーネントを使用してControlMediaコマンドが実行されます。ウィジェットで使用した場合、このコマンドは全画面表示のビデオエクスペリエンスを開始します。


1.2.0

primaryControlSize

ディメンション

@transportPrimaryButtonSize

プライマリボタンの幅と高さです。ウィジェットで使用する場合は、デフォルトのサイズを使用します。


1.0.0

secondaryControlSize

ディメンション

@transportSecondaryButtonSize

セカンダリボタンの幅と高さです。

サポートされません

1.0.0

secondaryControls

文字列

skip

使用するセカンダリコントロールの種類です。有効なオプションは、skipjump10jump30noneです。標準およびカスタムのセカンダリコントロールを参照してください。

サポートされません

1.2.0

secondaryControlsAVGLeft

文字列

カスタムの左セカンダリコントロールのAVGパス描画データです。定義されている場合、secondaryControlsLeftActionが必要です。これは、Alexa Vector GraphicのpathDataプロパティに含める値と同じです。ベクターグラフィックのパスデータの定義の詳細については、pathDataを参照してください。標準およびカスタムのセカンダリコントロールを参照してください。

サポートされません

1.2.0

secondaryControlsAVGRight

文字列

カスタムの右セカンダリコントロールのAVGパス描画データです。定義されている場合、secondaryControlsRightActionが必要です。これは、Alexa Vector GraphicのpathDataプロパティに含める値と同じです。ベクターグラフィックのパスデータの定義の詳細については、pathDataを参照してください。標準およびカスタムのセカンダリコントロールを参照してください。

サポートされません

1.2.0

secondaryControlsLeftAccessibilityLabel

文字列

左セカンダリコントロールを説明する文字列です。ユーザーが左セカンダリコントロールを選択すると、ボイスオーバーでこの文字列が読み上げられます。

サポートされません

1.2.0

secondaryControlsLeftAction

コマンド

ユーザーがカスタムの左セカンダリコントロールを選択したときに実行するコマンドです。secondaryControlsAVGLeftが設定されている場合に適用されます。標準およびカスタムのセカンダリコントロールを参照してください。

サポートされません

1.2.0

secondaryControlsRightAccessibilityLabel

文字列

右セカンダリコントロールを説明する文字列です。ユーザーが右セカンダリコントロールを選択すると、ボイスオーバーでこの文字列が読み上げられます。

サポートされません

1.2.0

secondaryControlsRightAction

コマンド

ユーザーがカスタムの右セカンダリコントロールを選択したときに実行するコマンドです。secondaryControlsAVGRightが設定されている場合に適用されます。標準およびカスタムのセカンダリコントロールを参照してください。

サポートされません

1.2.0

theme

文字列

dark

色のテーマをダークまたはライトに設定します。選択されたテーマによってコンポーネントの色が制御されます。


1.2.0

type

文字列

常にAlexaTransportControlsに設定されます。


1.2.0

標準およびカスタムのセカンダリコントロール

AlexaTransportControlsには、セカンダリコントロールに3つのオプションがあります。または、独自のカスタムコントロールを提供することもできます。

標準のセカンダリコントロールを使用するには

secondaryControlsを次のいずれかに設定します。

  • skip - セカンダリコントロールを左右の「スキップ」ボタンとして表示します。これらのボタンを選択すると、previous/nextオプションとmediaComponentIdで指定されたメディアコンポーネントを使用してControlMediaコマンドが実行されます。
  • jump10 - セカンダリコントロールを、10秒後/前に移動するボタンとして表示します。これらのボタンを選択すると、10秒に設定されたseekオプションとmediaComponentIdで指定されたメディアコンポーネントを使用してControlMediaコマンドが実行されます。
  • jump30 - セカンダリコントロールを、30秒後/前に移動するボタンとして表示します。これらのボタンを選択すると、30秒に設定されたseekオプションとmediaComponentIdで指定されたメディアコンポーネントを使用してControlMediaコマンドが実行されます。

次の例は、デフォルトのskipコントロールを示しています。

{
  "type": "AlexaTransportControls",
  "mediaComponentId": "VideoPlayer1",
  "playPauseToggleButtonId": "PlayButton1"
}
デフォルトの「skip」オプションを使用したトランスポートコントロール

次の例は、デフォルトのjump10セカンダリコントロールを示しています。

{
  "type": "AlexaTransportControls",
  "mediaComponentId": "VideoPlayer1",
  "playPauseToggleButtonId": "PlayButton1",
  "secondaryControls": "jump10"
}
デフォルトの「jump10」オプションを使用したトランスポートコントロール

カスタムのセカンダリコントロールを定義するには

  1. secondaryControlsAVGLeftsecondaryControlsAVGRightを、左右のコントロールに使用するカスタムイメージのベクターグラフィックのpathDataに設定します。
  2. secondaryControlsLeftActionsecondaryControlsRightActionを、ユーザーがボタンを選択したときに実行されるコマンドに設定します。これらのプロパティは、secondaryControlsAVGLeftsecondaryControlsAVGRightを設定するときに必要です。
{
  "type": "AlexaTransportControls",
  "playPauseToggleButtonId": "PlayButton1",
  "secondaryControlsAVGLeft": "M21,8H3C2.448,8,2,7.552,2,7s0.448-1,1-1h18c0.553,0,1,0.448,1,1S21.553,8,21,8z M22,12c0-0.552-0.447-1-1-1H3 c-0.552,0-1,0.448-1,1s0.448,1,1,1h18C21.553,13,22,12.552,22,12z M22,17c0-0.553-0.447-1-1-1H3c-0.552,0-1,0.447-1,1s0.448,1,1,1 h18C21.553,18,22,17.553,22,17z",
  "secondaryControlsAVGRight": "M1,7c0-0.552,0.448-1,1-1c3.161,0,5.354,1.74,7.314,3.78c-0.272,0.295-0.539,0.591-0.801,0.883 c-0.186,0.206-0.367,0.406-0.549,0.606C6.238,9.458,4.444,8,2,8C1.448,8,1,7.552,1,7z M22.789,16.59l-5.002-3.5 c-0.153-0.106-0.354-0.12-0.518-0.033C17.104,13.143,17,13.313,17,13.5v2.407c-1.949-0.335-3.483-1.622-4.966-3.174 c-0.181,0.2-0.362,0.399-0.547,0.604c-0.261,0.29-0.528,0.585-0.799,0.88c1.747,1.814,3.678,3.391,6.312,3.715V20.5 c0,0.187,0.104,0.357,0.27,0.443C17.342,20.981,17.421,21,17.5,21c0.101,0,0.201-0.03,0.287-0.09l5.002-3.5 c0.133-0.094,0.213-0.247,0.213-0.41S22.922,16.684,22.789,16.59z M22.789,6.59l-5.002-3.5c-0.153-0.107-0.354-0.121-0.518-0.034 C17.104,3.143,17,3.313,17,3.5v2.568c-3.368,0.414-5.591,2.872-7.743,5.264C7.096,13.732,5.055,16,2,16c-0.552,0-1,0.447-1,1 s0.448,1,1,1c3.945,0,6.384-2.71,8.743-5.331c1.916-2.128,3.74-4.144,6.257-4.576V10.5c0,0.187,0.104,0.357,0.27,0.443 C17.342,10.981,17.421,11,17.5,11c0.101,0,0.201-0.03,0.287-0.09l5.002-3.5c0.133-0.094,0.213-0.247,0.213-0.41 S22.922,6.684,22.789,6.59z",
  "secondaryControlsRightAction": {
    "type": "SetValue",
    "componentId": "PlayButton1",
    "property": "checked",
    "value": true
  },
  "secondaryControlsLeftAction": {
    "type": "SetValue",
    "componentId": "PlayButton1",
    "property": "checked",
    "value": false
  }
}
カスタムのセカンダリコントロールによるトランスポートコントロール

AlexaTransportControlsの例

次の例は、AlexaTransportControlsを使用してVideoコンポーネントを表示するAPLドキュメントを示しています。VideoコンポーネントのonPlayハンドラーとonPauseハンドラーで、AlexaTransportControlschecked状態が設定されることに注意してください。これにより、再生/一時停止アイコンがビデオの再生状態(再生中か一時停止中か)と同期されます。


次の例は、ウィジェットで使用されるAlexaTransportControlsコンポーネントを示しています。ユーザーが「再生」ボタンをタップすると、ウィジェットはSendEventコマンドを実行してスキルにリクエストを送信します。その後、スキルは全画面表示のビデオエクスペリエンスを開くことができます。SendEventコマンドをテストするには、この例をスキルにコピーしてください。



このページは役に立ちましたか?

最終更新日: 2025 年 12 月 12 日