Chrome dành cho Android hỗ trợ tính năng tự động phát tắt tiếng cho video kể từ phiên bản 53. Quá trình phát sẽ tự động bắt đầu đối với một thành phần video sau khi thành phần đó xuất hiện nếu bạn đã thiết lập cả autoplay
và muted
. Đồng thời, bạn có thể bắt đầu phát video bị tắt tiếng một cách thực tế bằng play()
. Trước đây, người dùng phải bắt đầu phát trên thiết bị di động bằng cử chỉ, bất kể trạng thái tắt tiếng.
<video playsinline autoplay muted>
<source src="video.webm" type="video/webm" />
<source src="video.mp4" type="video/mp4" />
</video>
Bạn có thể xem ví dụ thực tế bằng cách truy cập vào mẫu này. Video muted
sẽ tự động phát trong Chrome 53 trở lên.
Ngoài ra, bạn hiện có thể bắt đầu phát video ở chế độ tắt tiếng bằng phương thức play()
. Trước đây, play()
sẽ chỉ bắt đầu phát nếu thao tác đó bắt nguồn từ cử chỉ của người dùng, chẳng hạn như một lượt nhấp vào nút. So sánh hai bản minh hoạ sau trên Android — thử các bản minh hoạ này trên Chrome 53, sau đó trên một phiên bản cũ hơn:
Bạn nên sử dụng thuộc tính autoplay
bất cứ khi nào có thể và chỉ sử dụng phương thức play()
khi cần thiết.
Bạn có thể bật tiếng video theo phương thức lập trình để phản hồi một cử chỉ của người dùng, chẳng hạn như click
. Tuy nhiên, nếu bạn cố gắng bật tiếng video theo phương thức lập trình mà không có cử chỉ của người dùng, thì quá trình phát sẽ tạm dừng.
Thay đổi muted autoplay
cũng sẽ cho phép sử dụng play()
với phần tử video
không được tạo trong DOM, ví dụ: để điều khiển chế độ phát WebGL.
Phương thức play()
cũng trả về một lời hứa. Bạn có thể dùng lời hứa này để kiểm tra xem chế độ phát theo lập trình ở chế độ tắt tiếng có được bật hay không. Có một ví dụ về trường hợp này tại simpl.info/video/scripted.
Lý do thay đổi
Tính năng tự động phát đã bị tắt trong các phiên bản trước của Chrome trên Android vì tính năng này có thể gây gián đoạn, tốn dữ liệu và nhiều người dùng không thích tính năng này.
Việc tắt tính năng tự động phát đã vô tình khiến các nhà phát triển chuyển sang các giải pháp thay thế như ảnh GIF động, cũng như các bản hack <canvas>
và <img>
. Các kỹ thuật này kém hơn nhiều so với video được tối ưu hoá về mức tiêu thụ điện năng, hiệu suất, yêu cầu về băng thông, chi phí dữ liệu và mức sử dụng bộ nhớ. Video có thể cung cấp chất lượng cao hơn GIF động, với khả năng nén tốt hơn nhiều: trung bình khoảng 10 lần và tốt nhất lên tới 100 lần. Có thể giải mã video trong JavaScript, nhưng việc này sẽ tiêu tốn rất nhiều pin.
So sánh nội dung sau đây — nội dung đầu tiên là video và nội dung thứ hai là ảnh GIF động:
Hai tệp này trông khá giống nhau, nhưng video có kích thước dưới 200 KB và ảnh GIF động có kích thước trên 900 KB.
Chrome và các nhà cung cấp trình duyệt khác cực kỳ thận trọng về băng thông của người dùng. Đối với nhiều người dùng trong nhiều bối cảnh, chi phí dữ liệu cao thường là rào cản lớn hơn để truy cập so với kết nối kém. Do có nhiều giải pháp, nên tính năng tự động phát ở chế độ tắt tiếng là điều không thể chặn được. Vì vậy, việc cung cấp các API và chế độ mặc định tốt là điều tốt nhất mà nền tảng có thể làm.
Môi trường web ngày càng tập trung vào nội dung truyền thông. Nhà thiết kế và nhà phát triển tiếp tục tìm ra những cách mới và chưa lường trước để sử dụng video. Họ muốn hành vi nhất quán trên các nền tảng, chẳng hạn như khi sử dụng video trong nền làm thành phần thiết kế. Chế độ tự động phát ở chế độ tắt tiếng cho phép chức năng như vậy trên cả thiết bị di động và máy tính.
Điểm nhỏ hơn
- Từ góc độ hỗ trợ tiếp cận, tính năng tự động phát có thể đặc biệt gây ra vấn đề. Chrome 53 trở lên trên Android có chế độ cài đặt để tắt hoàn toàn tính năng tự động phát: trong phần Cài đặt nội dung nghe nhìn, hãy chọn Tự động phát.
- Thay đổi này không ảnh hưởng đến phần tử
audio
: tính năng tự động phát vẫn bị tắt trên Chrome trên Android vì tính năng tự động phát ở chế độ tắt tiếng không có nhiều ý nghĩa đối với âm thanh. - Tính năng tự động phát sẽ không hoạt động nếu bạn bật Chế độ tiết kiệm dữ liệu. Nếu chế độ Trình tiết kiệm dữ liệu đang bật, thì tính năng tự động phát sẽ bị tắt trong phần cài đặt Nội dung nghe nhìn.
- Tính năng tự động phát ở chế độ tắt tiếng sẽ hoạt động với mọi phần tử video hiển thị trong mọi tài liệu, iframe hoặc phần tử khác hiển thị.
- Hãy nhớ rằng để tận dụng hành vi mới này, bạn cần thêm
muted
cũng nhưautoplay
: so sánh simpl.info/video với simpl.info/video/muted.
Hỗ trợ
- Safari trên iOS 10 trở lên hỗ trợ chế độ tự động phát ở chế độ tắt tiếng.
- Firefox và UC Browser đã hỗ trợ tính năng tự động phát trên Android, dù có tắt tiếng hay không: các trình duyệt này không chặn bất kỳ loại tính năng tự động phát nào.