Web Receiver SDK מספק ממשק משתמש מובנה של נגן. כדי להטמיע את ממשק המשתמש הזה באפליקציית Web Receiver מותאמת אישית, צריך להוסיף את הרכיב cast-media-player לגוף של קובץ ה-HTML.
<body>
<cast-media-player></cast-media-player>
</body>
משתני CSS מאפשרים לכם להתאים אישית מאפיינים שונים של cast-media-player, כולל הרקע של הנגן, תמונת הפתיחה, משפחת הגופנים ועוד. אפשר להוסיף את המשתנים האלה באמצעות סגנונות CSS מוטבעים, גיליון סגנונות CSS או התג style.setProperty ב-JavaScript.
בקטעים הבאים מוסבר איך להתאים אישית כל אזור ברכיב של נגן המדיה. כדי להתחיל, אפשר להיעזר בתבניות הבאות.
index.html
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="css/receiver.css" media="screen" /> <script type="text/javascript" src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"> </script> </head> <body> <cast-media-player></cast-media-player> </body> <footer> <script src="js/receiver.js"></script> </footer> </html>
js/receiver.js
const context = cast.framework.CastReceiverContext.getInstance(); ... // Update style using javascript let playerElement = document.getElementsByTagName("cast-media-player")[0]; playerElement.style.setProperty('--splash-image', 'url("http://some/other/image.png")'); ... context.start();
css/receiver.css
body { --playback-logo-image: url('http://some/image.png'); } cast-media-player { --theme-hue: 100; --progress-color: rgb(0, 255, 0); --splash-image: url('http://some/image.png'); --splash-size: cover; }
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js">
</script>
</head>
<body>
<cast-media-player></cast-media-player>
<style>
body {
--playback-logo-image: url('http://some/image.png');
}
cast-media-player {
--theme-hue: 100;
--progress-color: rgb(0, 255, 0);
--splash-image: url('http://some/image.png');
}
</style>
<script>
const context = cast.framework.CastReceiverContext.getInstance();
...
// Update style using javascript
let playerElement = document.getElementsByTagName("cast-media-player")[0];
playerElement.style.setProperty('--splash-image', 'url("http://some/other/image.png")');
...
context.start();
</script>
</body>
</html>הלוגו של הפעלה
הלוגו של ההפעלה מוצג בפינה הימנית העליונה של הממיר בזמן הפעלת המדיה. המאפיין הזה נפרד מהסיווג .logo. אפשר להתאים אישית את --playback-logo-image באמצעות בורר body.
body {
--playback-logo-image: url('image.png'); /* set from the body selector */
}
מאפייני הרקע של הנגן
המשתנים --background מגדירים את מאפייני הרקע של כל הנגן,
שמוצגים במהלך ההפעלה וההשמעה. לדוגמה, אפשר להגדיר את כל הרקע כמעבר צבע ליניארי בין לבן לכסף:
cast-media-player {
--background-image: linear-gradient(white, silver);
}
תצוגה של Web Receiver:

אפשר להשתמש במשתנים הבאים כדי להתאים אישית מאפיינים של .background:
משתנים וערכי ברירת מחדל
| שם | ערך ברירת מחדל | תיאור |
|---|---|---|
| --background | שחור | מאפיין הרקע של CSS |
| --background-color | מאפיין CSS background-color | |
| --background-image | מאפיין CSS background-image | |
| --background-repeat | no-repeat | מאפיין CSS background-repeat |
| --background-size | גרסת כיסוי | מאפיין CSS background-size |
תבנית CSS
cast-media-player {
--background:
--background-color:
--background-image:
--background-repeat:
--background-size:
}
מאפייני הלוגו
הכיתה .logo ממוקמת לפני הכיתה .background, והיא משתרעת על פני כל השחקן. הכיתה הזו מוצגת כשהמקלט מופעל. אם לא תספקו משתני .splash, המחלקה .logo תוצג גם כשהמקלט שלכם במצב לא פעיל.
בדוגמה הבאה, המאפיין --logo-image מוגדר לסמל של אקולייזר בשם welcome.png. תמונה מוצגת כברירת מחדל במרכז המקלט:
cast-media-player {
--logo-image: url('welcome.png');
}
תצוגה של Web Receiver:

אפשר להשתמש במשתנים הבאים כדי להתאים אישית מאפיינים של .logo:
משתנים וערכי ברירת מחדל
| שם | ערך ברירת מחדל | תיאור |
|---|---|---|
| --logo-background | מאפיין הרקע של CSS | |
| --logo-color | מאפיין CSS background-color | |
| --logo-image | מאפיין CSS background-image | |
| --logo-repeat | no-repeat | מאפיין CSS background-repeat |
| --logo-size | מאפיין CSS background-size |
תבנית CSS
cast-media-player {
--logo-background:
--logo-color:
--logo-image:
--logo-repeat:
--logo-size:
}
מאפייני מסך הפתיחה
בדומה למחלקה .logo, המחלקה .splash משתרעת על כל השחקן. אם מגדירים את המאפיינים האלה, המשתנים של .splash יבטלו את המשתנים של .logo כשהמקלט לא פעיל. כלומר, אפשר להשתמש בקבוצה אחת של מאפייני .logo בהפעלה, ולהציג רקעים או תמונות נפרדים כשהמקלט לא פעיל.
לדוגמה, אפשר להחליף את רקע הגרדיאנט הלבן והכסוף ב-dimgray ולהוסיף סמל waiting... מונפש:
cast-media-player {
--splash-color: dimgray;
--splash-image: url('waiting.png');
}
תצוגה של Web Receiver:

אם לא מגדירים את המאפיינים האלה, המקלט יציג כברירת מחדל את .logo ההגדרות או את שם האפליקציה כשהוא במצב המתנה.
אפשר להשתמש במשתנים הבאים כדי להתאים אישית מאפיינים של .splash:
משתנים וערכי ברירת מחדל
| שם | ערך ברירת מחדל | תיאור |
|---|---|---|
| --splash-background | מאפיין הרקע של CSS | |
| --splash-color | מאפיין CSS background-color | |
| --splash-image | מאפיין CSS background-image | |
| --splash-repeat | מאפיין CSS background-repeat | |
| --splash-size | מאפיין CSS background-size |
תבנית CSS
cast-media-player {
--splash-background:
--splash-color:
--splash-image:
--splash-repeat:
--splash-size:
}
מצגת
כדי להציג עד 10 תמונות במחזור בזמן שהמכשיר במצב לא פעיל (במקום תמונת הפתיחה), משתמשים בפרמטרים הבאים של המצגת.
משתנים וערכי ברירת מחדל
| שם | ערך ברירת מחדל | תיאור |
|---|---|---|
| --slideshow-interval-duration | 10 שניות | הזמן בין התמונות. |
| --slideshow-animation-duration | 2 שנ' | משך המעבר. |
| --slideshow-image-1 | התמונה הראשונה במצגת. | |
| --slideshow-image-2 | התמונה השנייה במצגת. | |
| --slideshow-image-3 | התמונה השלישית במצגת. | |
| --slideshow-image-4 | התמונה הרביעית במצגת. | |
| --slideshow-image-5 | התמונה החמישית במצגת. | |
| --slideshow-image-6 | התמונה השישית במצגת. | |
| --slideshow-image-7 | התמונה השביעית במצגת. | |
| --slideshow-image-8 | התמונה השמינית במצגת. | |
| --slideshow-image-9 | התמונה התשיעית במצגת. | |
| --slideshow-image-10 | התמונה העשירית במצגת. |
תבנית CSS
cast-media-player {
--slideshow-interval-duration:
--slideshow-animation-duration:
--slideshow-image-1:
--slideshow-image-2:
--slideshow-image-3:
--slideshow-image-4:
--slideshow-image-5:
--slideshow-image-6:
--slideshow-image-7:
--slideshow-image-8:
--slideshow-image-9:
--slideshow-image-10:
}
מאפייני סימן המים
הסמל .watermark מוצג בזמן הפעלת המדיה. בדרך כלל מדובר בתמונה קטנה ושקופה שמופיעה כברירת מחדל בפינה השמאלית התחתונה של המכשיר.
אפשר להשתמש במשתנים הבאים כדי להתאים אישית מאפיינים של .watermark:
משתנים וערכי ברירת מחדל
| שם | ערך ברירת מחדל | תיאור |
|---|---|---|
| --watermark-background | מאפיין הרקע של CSS | |
| --watermark-color | מאפיין CSS background-color | |
| --watermark-image | מאפיין CSS background-image | |
| --watermark-position | ימין למטה | מאפיין CSS background-position |
| --watermark-repeat | no-repeat | מאפיין CSS background-repeat |
| --watermark-size | מאפיין CSS background-size |
תבנית CSS
cast-media-player {
--watermark-background:
--watermark-color:
--watermark-image:
--watermark-position:
--watermark-repeat:
--watermark-size:
}
הפעלה, מודעות ומאפיינים אחרים של CSS
אפשר גם להתאים אישית מודעות, גופנים, תמונות בנגן ומאפיינים אחרים דרך cast-media-playerבורר.
משתנים וערכי ברירת מחדל
| שם | ערך ברירת מחדל | תיאור |
|---|---|---|
| --ad-title | מודעה | הכותרת של המודעה. |
| --skip-ad-title | דילוג על המודעה | הטקסט בתיבת הטקסט דילוג על המודעה. |
| --break-color | hsl(hue, 100%, 50%) | צבע לסימון הפסקה למודעה. |
| --font-family | Open Sans | משפחת הגופנים של המטא-נתונים וסרגל ההתקדמות. |
| --spinner-image | תמונת ברירת המחדל | התמונה שתוצג בזמן ההפעלה. |
| --buffering-image | תמונת ברירת המחדל | התמונה שתוצג בזמן האגירה. |
| --pause-image | תמונת ברירת המחדל | התמונה שתוצג בזמן שהסרטון מושהה. |
| --play-image | התמונה שתוצג במטא-נתונים במהלך ההפעלה. | |
| --theme-hue | 42 | גוון הצבע שבו ישתמש הנגן. |
| --progress-color | hsl(hue, 95%, 60%) | הצבע של סרגל ההתקדמות. |
תבנית CSS
cast-media-player {
--ad-title:
--skip-ad-title:
--break-color:
--font-family:
--spinner-image:
--buffering-image:
--pause-image:
--play-image:
--theme-hue:
--progress-color:
}
מידע נוסף ואיורים נוספים זמינים במאמר בנושא Styled Media Receiver.
סריקת יתר
לפריסות לטלוויזיה יש דרישות ייחודיות בגלל ההתפתחות של תקני הטלוויזיה והרצון להציג תמונה במסך מלא לצופים. מכשירי טלוויזיה יכולים לחתוך את הקצה החיצוני של פריסת האפליקציה כדי לוודא שהתצוגה כולה מלאה. התנהגות כזו נקראת בדרך כלל סריקת יתר. כדי למנוע חיתוך של רכיבים במסך בגלל סריקת יתר, כדאי להוסיף שוליים של 10% לכל הצדדים של הפריסה.
ממשק משתמש ברירת מחדל לאודיו
MetadataType.MUSIC_TRACK

A. --logo-image
ב. MusicTrackMediaMetadata.albumName
ג. MusicTrackMediaMetadata.title
ד. MusicTrackMediaMetadata.albumArtist, MusicTrackMediaMetadata.artist או MusicTrackMediaMetadata.composer
ה. MusicTrackMediaMetadata.images[0]

ח. הפעלה/השהיה
קישור נתונים לממשק משתמש בהתאמה אישית
Cast Web Receiver SDK תומך בשימוש ברכיב ממשק משתמש מותאם אישית משלכם במקום ב-cast-media-player.
שיוך נתונים לממשק משתמש מותאם אישית מאפשר לכם להשתמש ברכיב ממשק משתמש מותאם אישית משלכם ולהשתמש במחלקה PlayerDataBinder כדי לשייך את ממשק המשתמש למצב הנגן, במקום להוסיף את הרכיב cast-media-player למקלט. ה-binder תומך גם בשליחת אירועים לשינויים בנתונים, אם האפליקציה לא תומכת בקישור נתונים.
const context = cast.framework.CastReceiverContext.getInstance();
const player = context.getPlayerManager();
const playerData = {};
const playerDataBinder = new cast.framework.ui.PlayerDataBinder(playerData);
// Update ui according to player state
playerDataBinder.addEventListener(
cast.framework.ui.PlayerDataEventType.STATE_CHANGED,
e => {
switch (e.value) {
case cast.framework.ui.State.LAUNCHING:
case cast.framework.ui.State.IDLE:
// Write your own event handling code
break;
case cast.framework.ui.State.LOADING:
// Write your own event handling code
break;
case cast.framework.ui.State.BUFFERING:
// Write your own event handling code
break;
case cast.framework.ui.State.PAUSED:
// Write your own event handling code
break;
case cast.framework.ui.State.PLAYING:
// Write your own event handling code
break;
}
});
context.start();
כדי שמקלט האינטרנט יוכל להשתמש ב-MediaElement, צריך להוסיף לפחות אחד כזה לקוד ה-HTML. אם יש כמה אובייקטים מסוג MediaElement, צריך לתייג את האובייקט MediaElement שרוצים שמקלט האינטרנט ישתמש בו. כדי לעשות את זה, מוסיפים castMediaElement לרשימת המחלקות של הסרטון, כמו שמוצג בהמשך. אחרת, Web Receiver יבחר את MediaElement הראשון.
<video class="castMediaElement"></video>