Làm cách nào để tự động phát âm thanh trong JavaScript?
Nếu bạn đang xây dựng một trang web và đã từng thắc mắc về cách tự động phát nhạc, thì bài viết này là dành cho bạn Show
Tuy nhiên, mặc dù có một số lý do chính đáng để tự động phát âm thanh khi ai đó truy cập một trang, nhưng tại thời điểm viết bài này, nó được coi là một trải nghiệm UX (trải nghiệm người dùng) tồi. Chắc chắn là như vậy nếu không có bất kỳ loại tương tác nào của người dùng như nhấp chuột hoặc nhấn nút trước hoặc bạn cố tình ẩn các điều khiển của trình phát Nhưng có thể bạn đang xây dựng trò chơi và muốn âm thanh phát tự động khi tải trang. Dù lý do là gì, hãy đọc tiếp để xem một số giải pháp khả thi thực hiện đơn giảnĐầu tiên, thêm phần tử
Tiếp theo, sử dụng JavaScript để lắng nghe sự kiện
Một lần nữa, đây được coi là một trải nghiệm UX tồi tệ và đã bị chặn trong Chrome cho đến khi cập nhật gần đây. Vì phương pháp này chiếm quyền kiểm soát khỏi tay người dùng của bạn nên nó vẫn có thể bị chặn trong Firefox Ngoài ra, mặc dù có một thuộc tính Triển khai tốt hơnCách dễ nhất để cải thiện UX và giảm khả năng làm phiền khách truy cập vào trang web của bạn là chỉ phát âm thanh sau khi người dùng tương tác với trang Ví dụ: bạn có thể thêm tắt tiếng/bật tiếng đơn giản bắt đầu ở trạng thái tắt tiếng và chỉ phát nhạc khi được nhấp vào hình ảnh-77 phút1415×866 439 KB Đây là mã có thể trông như thế nào cho điều đó.
Các phần quan trọng nhất là các phương pháp 1. Ban đầu, nhạc bị tạm dừng hoặc tắt tiếng, đây là hành vi mặc định cho phần tử audio . Sau đó, ngay khi được nhấp vào, âm thanh sẽ bắt đầu phátHãy xem ví dụ trực tiếp này về một trang có nút tắt tiếng/bật tiếng Tóm tắtCó một vài lý do chính đáng để tạo một trang tự động phát nhạc khi tải, nhưng nó vẫn được nhiều người coi là cách làm không tốt. Nếu bạn cần phát âm thanh, bạn nên có các điều khiển, ngay cả khi đó chỉ là một nút tắt tiếng/bật tiếng đơn giản Hoặc bạn có thể sáng tạo – nếu bạn đang xây dựng một trò chơi, bạn nghĩ sao về việc thêm màn hình bắt đầu khi người dùng phải nhấp vào nút để bắt đầu chơi? Dù bạn chọn tuyến đường nào, hãy nhớ ghi nhớ trải nghiệm người dùng khi bạn đi. Giữ mã hóa an toàn và hạnh phúc Ghi chú. Xin chân thành cảm ơn lasjorg đã chia sẻ mã và tạo trang ví dụ được sử dụng trong bài viết này. Bạn có thể tìm thấy bản gốc trong các ý kiến dưới đây Xin chào nhà phát triển, hôm nay tôi sẽ hướng dẫn bạn cách phát âm thanh sau khi tải trang bằng JavaScript. Trong nhiều trường hợp, chúng tôi thấy rằng chúng tôi chỉ cần phát tệp âm thanh sau khi trang web được tải. Bởi vì hầu hết thời gian, chúng tôi không muốn phát tệp âm thanh trước khi trang web được tải Cập nhật. Trong các bản cập nhật gần đây của Chrome, bạn có thể gặp khó khăn khi tự động phát vì bạn sẽ cần sử dụng
Bạn có thể gặp lỗi như thế này. Uncaught (trong lời hứa) DOMException. play() không thành công vì người dùng không tương tác với tài liệu trước Google chrome rất nghiêm ngặt để bảo vệ tự động phát tiếng ồn trên trang web Mã nguồn trình phát nhạc dính dưới cùng trong JavaScript và CSS
Bạn cũng nên tìm hiểu Cách phát âm thanh sau vài giây hoặc độ trễ trong JavaScript Phát video hướng dẫn này để tìm hiểu thêm
Phát âm thanh sau khi tải trang bằng JavaScriptLưu ý rằng. Đối với bản cập nhật gần đây của chrome và một số trình duyệt khác, bạn nên thử điều này Điều hướng đến Cài đặt Google Chrome, Quyền tìm kiếm và cấp quyền âm thanh, Bạn cũng có thể thêm liên kết trang của mình vào phần cho phép (Mayuresh Deshmukh đã bình luận về bài đăng này) Vì vậy, trước khi trực tiếp chỉ cho bạn điều đó, tôi muốn chỉ cho bạn cách phát tệp âm thanh trong HTML
Vì vậy, trước tiên chúng ta cần xóa thuộc tính tự động phát. Sau đó, chúng tôi sẽ thêm chức năng JavaScript của mình để phát âm thanh khi tải trang Vì vậy, mã đầy đủ của chúng tôi sẽ trông như thế này
window.onload sẽ chạy chức năng này sau khi tải trang document.getElementById("my_audio").play(); đây tài liệu. Phương thức getElementById() chịu trách nhiệm lấy tệp âm thanh theo id của nó Sau đó, phương thức play() được sử dụng để phát tệp âm thanh Cũng đọc, Cách nhận tùy chọn đã chọn từ danh sách thả xuống biểu mẫu HTML trong jQuery Trình phát video/âm thanh HTML5 Điều khiển âm lượng bằng phím trong JavaScript Đặc biệt lưu ý. Thẻ âm thanh được sử dụng trong thẻ body chứ không phải trong thẻ head, vì nếu bạn chèn nó vào thẻ head trình duyệt sẽ tự động tải dữ liệu media trong phần body. Bạn có thể sử dụng tùy chọn kiểm tra của trình duyệt để xem điều gì sẽ xảy ra nếu bạn đặt thẻ âm thanh vào thẻ đầu Vì vậy, tốt hơn hết là đặt thẻ âm thanh trong thẻ body Sử dụng chức năng JavaScript này, bạn có thể dễ dàng phát tệp âm thanh sau khi tải trang Vui lòng viết trong phần nhận xét và xem video được nhúng trên trang này để tìm hiểu cách đặt thời gian trễ để phát tệp âm thanh của bạn trên trang web 33 phản hồi cho “Cách phát âm thanh sau khi tải trang bằng HTML bằng JavaScript”
|