スマートディスプレイは、タッチセンサーを搭載し、Web Receiver が利用できるデバイスです。 タップ操作に対応できるようにしています。Web Receiver SDK は プレーヤー コントロールをさらにカスタマイズします。
このガイドでは、起動時に Web Receiver アプリケーションを最適化する方法について説明します プレーヤー コントロールをカスタマイズする方法についても紹介します。
UI コントロールへのアクセス
UI コントロール オブジェクトには、次のコードでアクセスできます。
const controls = cast.framework.ui.Controls.getInstance();
cast-media-player 要素を使用していない場合は、次のように設定する必要があります。
touchScreenOptimizedApp プロパティを UiConfig の true に設定
CastReceiverOptions 未満。
context.start({
uiConfig: {
touchScreenOptimizedApp: true
}
});
デフォルトの動画 UI
デフォルトのコントロール ボタンは、MetadataType に基づいて各スロットに割り当てられます。
MediaStatus.supportedMediaCommands。
MetadataType.Movie、MetadataType.Generic

B. MovieMediaMetadata.subtitle または GenericMediaMetadata.subtitle。
C. MovieMediaMetadata.title または GenericMediaMetadata.title。
F. ControlsSlot.SLOT_SECONDARY_1
G. ControlsSlot.SLOT_PRIMARY_1
H.再生 / 一時停止
I. ControlsSlot.SLOT_PRIMARY_2
J. ControlsSlot.SLOT_SECONDARY_2
supportedMediaCommands の値が次と等しい場合:
ALL_BASIC_MEDIA,
デフォルトのコントロール レイアウトは次のように表示されます。

supportedMediaCommands の値が次と等しい場合:
ALL_BASIC_MEDIA | QUEUE_PREV | QUEUE_NEXT、デフォルトのコントロール レイアウトは
次のように表示されます。

supportedMediaCommands の値が次と等しい場合:
PAUSE | QUEUE_PREV | QUEUE_NEXT の場合、デフォルトのコントロール レイアウトは次のように表示されます。

テキスト トラックが利用可能な場合、字幕ボタンは常に次の場所に表示されます:
SLOT_SECONDARY_1。

開始後に supportedMediaCommands の値を動的に変更するには、
場合は、PlayerManager.setSupportedMediaCommands を呼び出すことができます。
値をオーバーライドします。また、addSupportedMediaCommands を使用して新しいコマンドを追加することもできます。
既存のコマンドを削除するには、removeSupportedMediaCommands を使用します。
デフォルトのオーディオ UI
MetadataType.MUSIC_TRACK

B. MusicTrackMediaMetadata.albumName
C. MusicTrackMediaMetadata.title
D. MusicTrackMediaMetadata.albumArtist、MusicTrackMediaMetadata.artist、MusicTrackMediaMetadata.composer のいずれか
E: MusicTrackMediaMetadata.images[0]
H. ControlsSlot.SLOT_SECONDARY_1
I. ControlsSlot.SLOT_PRIMARY_1
J.再生 / 一時停止
K. ControlsSlot.SLOT_PRIMARY_2
L. ControlsSlot.SLOT_SECONDARY_2
supportedMediaCommands の値が ALL_BASIC_MEDIA の場合、デフォルトのコントロール レイアウトは次のように表示されます。

supportedMediaCommands の値が ALL_BASIC_MEDIA |
QUEUE_PREV | QUEUE_NEXT の場合、デフォルトのコントロール レイアウトは次のように表示されます。

開始後に supportedMediaCommands の値を動的に変更するには、
ウェブ レシーバー コンテキストでは、PlayerManager.setSupportedMediaCommands を呼び出すことができます。
値をオーバーライドします。また、gcloud コマンドを使用して新しいコマンドを
addSupportedMediaCommands
既存のコマンドを削除するには、removeSupportedMediaCommands を使用します。
UI コントロール ボタンのレイアウトをカスタマイズする
UI コントロールのボタンを変更する場合にカスタム レイアウトを使用する。
const controls = cast.framework.ui.Controls.getInstance();
controls.clearDefaultSlotAssignments();
次に、assignButton を呼び出して 4 つのスロットにコントロール ボタンを割り当てることができます。
controls.assignButton(
cast.framework.ui.ControlsSlot.SLOT_SECONDARY_1,
cast.framework.ui.ControlsButton.LIKE
)
controls.assignButton(
cast.framework.ui.ControlsSlot.SLOT_SECONDARY_2,
cast.framework.ui.ControlsButton.DISLIKE
)
カスタム レイアウトは次のように表示されます。

割り当てられたボタンが MediaStatus.supportedMediaCommands でサポートされていない場合、
ボタンがグレー表示になりますたとえば、supportedMediaCommands が次の値と等しい場合:
ALL_BASIC_MEDIA | QUEUE_NEXT | LIKE | DISLIKE、その後は QUEUE_PREV
ボタンが無効になります。

次の時間が経過したら supportedMediaCommands の値を動的に変更する
開始するには、PlayerManager.setSupportedMediaCommands を呼び出します。
値をオーバーライドします。また、addSupportedMediaCommands を使用して新しいコマンドを追加することもできます。
既存のコマンドを削除するには、removeSupportedMediaCommands を使用します。
セカンダリ画像
[Secondary Image] でキャスト機能を使用します。 デベロッパーは音声用の情報画像を UI に柔軟に追加できる ローカル チャンネルのロゴやメディア フォーマットを表示するために 例です。この新機能のオーバーヘッドはわずかですが さまざまな Cast ディスプレイ プラットフォーム(Chromecast、 スマート ディスプレイ、Chromecast with Google TV などです。