Tự động phát ở chế độ tắt tiếng trên thiết bị di động - Bạn đã có thể ngừng sử dụng ảnh in trên vải canvas và ảnh GIF động!

Tính năng tự động phát bị tắt tiếng cho video được Chrome dành cho Android hỗ trợ kể từ phiên bản 53. Quá trình phát sẽ tự động bắt đầu cho một phần tử video sau khi phần tử đó xuất hiện nếu bạn đặt cả autoplaymuted. 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, phát lại trên thiết bị di động phải được thực hiện bằng cử chỉ của người dùng, bất kể trạng thái tắt tiếng.

<video 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 mẫu này. Quá trình phát video muted sẽ tự động bắt đầu trên Chrome 53 trở lên.

Ảnh chụp màn hình trình phát video.

Ngoài ra, giờ đây, bạn có thể bắt đầu phát bị tắt tiếng bằng phương thức play(). Trước đây, play() sẽ chỉ bắt đầu phát nếu xuất phát từ cử chỉ của người dùng (chẳng hạn như nhấp vào nút). So sánh hai bản minh hoạ sau trên Android — hãy dùng thử trên Chrome 53 rồi trên 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 theo một cử chỉ của người dùng, chẳng hạn như click. Tuy nhiên, nếu bạn cố bật tiếng video theo phương thức lập trình mà không dùng cử chỉ của người dùng, quá trình phát sẽ tạm dừng.

Sự thay đổi về muted autoplay cũng sẽ giúp bạn có thể sử dụng play() với phần tử video không được tạo trong DOM, ví dụ: để thúc đẩy việc phát WebGL.

Phương thức play() cũng trả về một lời hứa. Bạn có thể sử dụng phương thức này để kiểm tra xem tính năng phát có lập trình bị tắt tiếng đã được bật hay chưa. Bạn có thể xem một ví dụ về cách này tại simpl.info/video/scripted.

Tại sao lại 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 có hiệu quả vô tình khiến nhà phát triển chuyển đến các lựa chọn thay thế như GIF động, cũng như cách truy cập <canvas><img>. Những kỹ thuật này tệ hơn nhiều so với video được tối ưu hoá về mặt 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 so với 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ối đa là 100 lần. Bạn có thể giải mã video trong JavaScript, nhưng sẽ tiêu hao pin đáng kể.

Hãy so sánh các mẫu sau — thứ nhất là video và thứ hai là ảnh GIF động:

Đang phát đoạn video.

Chúng trông khá giống nhau, nhưng video có kích thước dưới 200KB và GIF động thì có kích thước trên 900KB.

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 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 trong việc truy cập so với kết nối kém. Do các giải pháp thay thế phổ biến, tính năng tự động phát tắt tiếng không phải là thứ có thể bị chặn, vì vậy, việc cung cấp các API và giá trị mặc định tốt là cách tốt nhất mà nền tảng có thể làm.

Web ngày càng tập trung vào hoạt động truyền thông. Các nhà thiết kế và nhà phát triển không ngừng tìm ra những cách thức mới mẻ và ngoài dự kiến để sử dụng video và họ muốn có 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 nền làm thành phần thiết kế. Tính năng tự động phát ở chế độ tắt tiếng sẽ bật các chức năng như thế này trên cả thiết bị di động và máy tính.

Điểm tinh tế hơn

  • Từ quan điểm hỗ trợ tiếp cận, tính năng tự động phát có thể đặc biệt có vấn đề. Phiên bản Chrome 53 trở lên trên Android cung cấp 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 trong Chrome trên Android vì tính năng tự động phát tắt tiếng không phù hợp với âm thanh.
  • Sẽ không tự động phát nếu bạn bật Chế độ tiết kiệm dữ liệu. Nếu bạn bật chế độ Tiết kiệm dữ liệu, thì tính năng tự động phát sẽ tắt trong phần Cài đặt nội dung nghe nhìn.
  • Tính năng tự động phát bị 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 cách khác hiển thị.
  • Hãy nhớ rằng để tận dụng hành vi mới, bạn sẽ cần thêm muted cũng như autoplay: so sánh simpl.info/video với simpl.info/video/muted.

Hỗ trợ

  • Tính năng tự động phát ở chế độ tắt tiếng được Safari hỗ trợ trên iOS 10 trở lên.
  • Tính năng tự động phát, dù tắt tiếng hay không, đã được hỗ trợ trên Android bởi Firefox và Trình duyệt UC: chúng không chặn bất kỳ loại chế độ tự động phát nào.

Tìm hiểu thêm