پخش خودکار بیصدا برای ویدیو از نسخه 53 توسط Chrome برای Android پشتیبانی میشود. در صورتی که 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()
همچنین یک وعده را برمیگرداند که میتوان از آن برای بررسی فعال بودن پخش برنامهای بیصدا استفاده کرد. نمونه ای از این در simpl.info/video/scripted وجود دارد.
چرا تغییر؟
پخش خودکار در نسخههای قبلی Chrome در Android غیرفعال شده است زیرا میتواند مختل کننده باشد، تشنه داده باشد و بسیاری از کاربران آن را دوست ندارند .
غیرفعال کردن پخش خودکار تأثیر ناخواسته ای داشت که توسعه دهندگان را به سمت جایگزین هایی مانند GIF های متحرک و همچنین هک های <canvas>
و <img>
سوق داد. این تکنیک ها از نظر مصرف انرژی، عملکرد، پهنای باند مورد نیاز، هزینه داده و استفاده از حافظه بسیار بدتر از ویدئوهای بهینه شده هستند. ویدئو می تواند کیفیت بالاتری نسبت به GIF های متحرک، با فشرده سازی بسیار بهتر ارائه دهد: به طور متوسط حدود 10 بار و در بهترین حالت تا 100 بار. رمزگشایی ویدیو در جاوا اسکریپت امکان پذیر است ، اما انرژی باتری را کاهش می دهد.
موارد زیر را مقایسه کنید - اولی یک ویدیو و دومی یک GIF متحرک است:
آنها بسیار شبیه به هم هستند، اما حجم ویدیو کمتر از 200 کیلوبایت است و GIF متحرک بیش از 900 کیلوبایت است.
کروم و سایر فروشندگان مرورگر در مورد پهنای باند کاربر بسیار محتاط هستند. برای بسیاری از کاربران در بسیاری از زمینهها، هزینه بالای داده اغلب مانعی بزرگتر از اتصال ضعیف برای دسترسی است. با توجه به رواج راهحلها، پخش خودکار بیصدا چیزی نیست که بتوان آن را مسدود کرد، بنابراین ارائه API و پیشفرض خوب بهترین کاری است که پلتفرم میتواند انجام دهد.
وب به طور فزاینده ای رسانه محور است. طراحان و توسعهدهندگان همچنان به یافتن راههای جدید و پیشبینی نشده برای استفاده از ویدیو ادامه میدهند - و میخواهند رفتاری ثابت در سراسر پلتفرمها داشته باشند، برای مثال زمانی که از ویدیوی پسزمینه به عنوان یک عنصر طراحی استفاده میکنند. پخش خودکار بیصدا، عملکردی مانند این را هم در تلفن همراه و هم در رایانه رومیزی فعال میکند.
نکات ظریف
- از نقطه نظر دسترسی، پخش خودکار می تواند به ویژه مشکل ساز باشد. Chrome 53 و بالاتر در Android تنظیمی را برای غیرفعال کردن پخش خودکار به طور کامل ارائه می دهد: از تنظیمات رسانه، پخش خودکار را انتخاب کنید.
- این تغییر بر عنصر
audio
تأثیری نمیگذارد: پخش خودکار همچنان در Chrome در Android غیرفعال است، زیرا پخش خودکار بیصدا برای صدا چندان منطقی نیست. - اگر حالت Data Saver فعال باشد، پخش خودکار وجود ندارد. اگر حالت Data Saver فعال باشد، پخش خودکار در تنظیمات رسانه غیرفعال می شود.
- پخش خودکار بیصدا برای هر عنصر ویدیویی قابل مشاهده در هر سند قابل مشاهده، iframe یا موارد دیگر کار میکند.
- به یاد داشته باشید که برای استفاده از رفتار جدید، باید
muted
وautoplay
اضافه کنید: simpl.info/video را با simpl.info/video/muted مقایسه کنید.
پشتیبانی کنید
- پخش خودکار بیصدا توسط سافاری در iOS 10 و نسخههای جدیدتر پشتیبانی میشود.
- پخش خودکار، خواه نادیده گرفته شده باشد یا نباشد، قبلاً توسط فایرفاکس و مرورگر UC در اندروید پشتیبانی می شود: آنها هیچ نوع پخش خودکار را مسدود نمی کنند.