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!

Chrome 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 cho một phần tử video khi phần tử đó xuất hiện trong khung hiển thị nếu cả autoplaymuted đều được đặt, đồng thời quá trình phát video bị tắt tiếng có thể được khởi chạy theo cách thức thực tế bằng play(). Trước đây, người dùng phải thực hiện một cử chỉ để bắt đầu phát trên thiết bị di động, 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 phiên bản 53 trở lên.

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

Ngoài ra, bạn hiện có thể bắt đầu phát ở 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 có một cử chỉ của người dùng, chẳng hạn như lượt nhấp vào nút. Hãy so sánh 2 bản minh hoạ sau trên Android – thử chúng trên Chrome 53, sau đó thử 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ắt tiếng video theo cách 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ắt tiếng video theo cách 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 bạn sử dụng play() với một phần tử video không được tạo trong DOM, chẳng hạn như để điều khiển quá trình 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 có lập trình ở trạng thái tắt tiếng có được bật hay không. Bạn có thể xem ví dụ về việc này tại simpl.info/video/scripted.

Tại sao lại có sự thay đổi này?

Tính năng tự động phát đã bị tắt trong các phiên bản Chrome trước đây trên Android vì tính năng này có thể gây phiền toái, tốn nhiều 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 lựa chọn thay thế như ảnh GIF động, cũng như các giải pháp <canvas><img>. Những 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ể mang lại chất lượng cao hơn so với ảnh 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 100 lần. Có thể giải mã video bằng JavaScript, nhưng việc này sẽ tiêu tốn rất nhiều pin.

So sánh video và ảnh GIF động sau đây:

Đang phát video có đoạn trích.

Hai tệp này trông khá giống nhau, nhưng video có kích thước dưới 200 KB còn ả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 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 đối với việc truy cập so với kết nối kém. Do các giải pháp thay thế rất phổ biến, nên tính năng tự động phát ở chế độ 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à chế độ mặc định phù hợp là điều tốt nhất mà nền tảng có thể làm.

Web ngày càng tập trung vào nội dung nghe nhìn. Các nhà thiết kế và nhà phát triển không ngừng tìm ra những cách mới và không ngờ để sử dụng video. 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 một phần tử thiết kế. Tính năng tự động phát khi tắt tiếng cho phép chức năng này hoạt động trên cả thiết bị di động và máy tính.

Những điểm cần lưu ý

  • Xét về khả năng hỗ trợ tiếp cận, tính năng tự động phát có thể gây ra nhiều vấn đề. Chrome 53 trở lên trên Android có một 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 dành cho 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 bạn bật chế độ Trình tiết kiệm dữ liệu, thì chế độ 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 cho mọi phần tử video hiển thị trong mọi tài liệu, iframe hoặc phần tử hiển thị khác.
  • Xin lưu ý 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.
  • Tính năng tự động phát (dù có tắt tiếng hay không) đã được Firefox và UC Browser hỗ trợ trên Android: các trình duyệt này không chặn bất kỳ loại nội dung tự động phát nào.

Tìm hiểu thêm