הפעלה אוטומטית מושתקת בנייד – נגמרו הימים של פריצות קנבס וקובצי GIF מונפשים.

התכונה 'הפעלה אוטומטית עם קול מושתק' בסרטונים נתמכת ב-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: הם לא חוסמים אף סוג של הפעלה אוטומטית.

למידע נוסף