הפעלה אוטומטית מושתקת לווידאו נתמכת ב-Chrome ל-Android החל מגרסה 53. ההפעלה תתחיל באופן אוטומטי של רכיב וידאו ברגע שהוא יוצג, אם גם autoplay
וגם muted
מוגדרים, וניתן להפעיל סרטונים מושתקים באופן מעשי עם play()
. בעבר, ההפעלה בנייד הייתה צריכה להתחיל בתנועת משתמש, בלי קשר למצב ההשתקה.
<video playsinline autoplay muted>
<source src="video.webm" type="video/webm" />
<source src="video.mp4" type="video/mp4" />
</video>
אפשר לראות את זה בפעולה בדוגמה הזו. ההפעלה של סרטון muted
מתחילה באופן אוטומטי ב-Chrome 53 ואילך.
בנוסף, עכשיו אפשר להפעיל הפעלה עם קול מושתק באמצעות השיטה play()
. בעבר, היה אפשר להפעיל את play()
רק אם היא הגיעה מתנועת משתמש, כמו לחיצה על לחצן. אפשר להשוות בין שני הדמואים הבאים ב-Android – כדאי לנסות אותם ב-Chrome 53 ואז בגרסה ישנה יותר:
מומלץ להשתמש במאפיין autoplay
כשאפשר, ובשיטה play()
רק במקרה הצורך.
אפשר לבטל את ההשתקה של סרטון באופן פרוגרמטי בתגובה לתנועת משתמש, כמו click
. עם זאת, אם מנסים לבטל את ההשתקה של סרטון באופן פרוגרמטי בלי תנועת משתמש, ההפעלה מושהית.
השינוי ב-muted autoplay
יאפשר גם להשתמש ב-play()
עם רכיב video
שלא נוצר ב-DOM, למשל כדי להפעיל את ההפעלה של WebGL.
השיטה play()
גם מחזירה הבטחה (promise), שאפשר להשתמש בה כדי לבדוק אם הפעלת הווידאו הפרוגרמטית המושתקת מופעלת. דוגמה לכך מופיעה בכתובת simpl.info/video/scripted.
מה הסיבה לשינוי?
ההפעלה האוטומטית הושבתה בגרסאות קודמות של Chrome ל-Android כי היא עלולה להפריע, לצרוך הרבה נתונים ולא אהובה על הרבה משתמשים.
השבתת ההפעלה האוטומטית הובילה לכך שמפתחים החלו להשתמש בחלופות כמו קובצי GIF עם אנימציה, וגם בהאקים של <canvas>
ו-<img>
. השיטות האלה גרועות בהרבה מסרטונים שעברו אופטימיזציה מבחינת צריכת החשמל, הביצועים, דרישות רוחב הפס, עלות הנתונים ושימוש בזיכרון. סרטונים יכולים לספק איכות גבוהה יותר מקובצי GIF מונפשים, עם דחיסה טובה בהרבה: כ-10 פעמים בממוצע, ועד פי 100 לכל היותר. אפשר לבצע פענוח וידאו ב-JavaScript, אבל הפעולה הזו צורכת הרבה מאוד אנרגיה מהסוללה.
אלה דוגמאות לתמונות שונות: הראשונה היא סרטון והשנייה היא קובץ GIF מונפש:
הם נראים די דומים, אבל גודל הסרטון הוא פחות מ-200KB וגודל קובץ ה-GIF האנימציה הוא יותר מ-900KB.
Chrome וספקי דפדפנים אחרים מקפידים מאוד על רוחב הפס של המשתמשים. עבור משתמשים רבים בהקשרים רבים, עלות הגבוהה של השימוש בנתונים היא לרוב מכשול גדול יותר לגישה מאשר חיבור חלש. בגלל שדרכים לעקיפת הבעיה נפוצות, אי אפשר לחסום הפעלה אוטומטית עם קול מושתק, ולכן הפתרון הטוב ביותר שאנחנו יכולים להציע בפלטפורמה הוא ממשקי API טובים וברירות מחדל טובות.
האינטרנט נעשה יותר ויותר ממוקד מדיה. מעצבים ומפתחים ממשיכים למצוא דרכים חדשות ולא צפויות לשימוש בסרטונים – והם רוצים שההתנהגות תהיה עקבית בכל הפלטפורמות, למשל כשמשתמשים בסרטון רקע כאלמנט עיצוב. הפעלה אוטומטית עם שתיקה מאפשרת פונקציונליות כזו גם בניידים וגם במחשבים.
הפרטים הקטנים
- מנקודת מבט של נגישות, הפעלה אוטומטית יכולה להיות בעייתית במיוחד. ב-Chrome 53 ואילך ל-Android יש הגדרה להשבתה מוחלטת של ההפעלה האוטומטית: בהגדרות המדיה, בוחרים באפשרות 'הפעלה אוטומטית'.
- השינוי הזה לא משפיע על האלמנט
audio
: ההפעלה האוטומטית עדיין מושבתת ב-Chrome ל-Android, כי הפעלה אוטומטית עם קול מושתק לא הגיונית במיוחד לאודיו. - אם ההגדרה מצב חיסכון בחבילת הגלישה מופעלת, לא תהיה הפעלה אוטומטית. אם מצב חיסכון בחבילת הגלישה מופעל, ההפעלה האוטומטית מושבתת בהגדרות המדיה.
- הפעלה אוטומטית מושתקת תפעל בכל רכיב וידאו גלוי בכל מסמך גלוי, iframe או אמצעי אחר.
- חשוב לזכור: כדי ליהנות מההתנהגות החדשה, צריך להוסיף את
muted
וגם אתautoplay
: אפשר להשוות בין simpl.info/video לבין simpl.info/video/muted.
תמיכה
- התכונה 'הפעלה אוטומטית עם קול מושתק' נתמכת ב-Safari ב-iOS מגרסה 10 ואילך.
- הפעלה אוטומטית, עם או בלי השבתת קול, כבר נתמכת ב-Android על ידי Firefox ו-UC Browser: הם לא חוסמים אף סוג של הפעלה אוטומטית.