نمایشگرهای هوشمند دستگاههایی با قابلیت لمسی هستند که به برنامههای گیرنده وب اجازه میدهند از کنترلهای لمسی پشتیبانی کنند. Web Receiver SDK یک تجربه رابط کاربری پیشفرض را با سفارشیسازی اضافی کنترلهای پخشکننده فراهم میکند.
این راهنما نحوه بهینه سازی برنامه گیرنده وب خود را هنگام راه اندازی بر روی نمایشگرهای هوشمند و نحوه سفارشی کردن کنترل های پخش کننده را توضیح می دهد.
دسترسی به کنترل های رابط کاربری
شیء UI Controls با کد زیر قابل دسترسی است:
const controls = cast.framework.ui.Controls.getInstance();
اگر از عنصر cast-media-player
استفاده نمیکنید، باید ویژگی touchScreenOptimizedApp
را در UiConfig
زیر CastReceiverOptions
روی true
تنظیم کنید.
context.start({
uiConfig: {
touchScreenOptimizedApp: true
}
});
رابط کاربری پیشفرض ویدیو
دکمه های کنترل پیش فرض بر اساس MetadataType
و MediaStatus.supportedMediaCommands
به هر شکاف اختصاص داده می شوند.
MetadataType.Movie، MetadataType.Generic
ب. MovieMediaMetadata.subtitle
یا GenericMediaMetadata.subtitle
.
ج. 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
دستور موجود را حذف کنید.
رابط صوتی پیش فرض
MetadataType.MUSIC_TRACK
ب. 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
پس از راهاندازی زمینه Web Receiver، میتوانید PlayerManager.setSupportedMediaCommands
را فراخوانی کنید تا مقدار را لغو کنید. همچنین، میتوانید با استفاده از addSupportedMediaCommands
دستورات جدیدی اضافه کنید یا با استفاده از removeSupportedMediaCommands
دستورات موجود را حذف کنید.
طرح بندی دکمه کنترل رابط کاربری را سفارشی کنید
اگر میخواهید دکمهها را در کنترلهای 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
پس از راهاندازی زمینه Web Receiver، میتوانید PlayerManager.setSupportedMediaCommands
را فراخوانی کنید تا مقدار را لغو کنید. همچنین، میتوانید با استفاده از addSupportedMediaCommands
دستورات جدیدی اضافه کنید یا با استفاده از removeSupportedMediaCommands
دستورات موجود را حذف کنید.
تصویر ثانویه
تصویر ثانویه به توسعه دهندگان Cast این امکان را می دهد که برای مثال، برای نمایش آرم کانال های محلی یا قالب رسانه، یک تصویر اطلاعاتی به رابط کاربری برای برنامه های صوتی و تصویری اضافه کنند. این عملکرد جدید با هزینه بسیار کمی ارائه می شود و در عین حال رابط کاربری ثابتی را در پلتفرم های مختلف نمایش Cast حفظ می کند: Chromecast، نمایشگرهای هوشمند، و Chromecast با Google TV.