JavaScript phát đồng thời nhiều tệp âm thanh
Giả sử bạn muốn tạo một ứng dụng đố vui. Trong đó, nếu bạn nhấp vào tùy chọn sai, âm thanh sẽ được phát ở chế độ nền cho biết “câu trả lời sai”. Nhưng nếu bạn bấm sai đồng thời hai hoặc nhiều tùy chọn, bạn sẽ không thể nghe thấy âm thanh vì nhiều lần bấm sai câu trả lời cùng một lúc. Vì vậy, làm thế nào để giải quyết vấn đề này Trong bài viết này, bạn sẽ xem liệu bạn có thể phát cùng một âm thanh nhiều lần cùng lúc với HTML5 hay không câu trả lời là Có Có hai phương pháp để làm như vậy Hãy cho chúng tôi xem các phương pháp là gì trong các phần tiếp theo của chúng tôi Sử dụng phương thức cloneNode()Sử dụng phương pháp này, chúng tôi chỉ cần tạo bản sao hoặc sao chép âm thanh mà chúng tôi muốn lặp lại Thí dụ
Khi nhấp vào nút tùy chọn, âm thanh sẽ được sao chép và phát do bạn đã đặt điều khiển tự động phát. Bạn nhấp vào nút bao nhiêu lần thì bấy nhiêu lần âm thanh sẽ được phát đồng thời. thẻ được sử dụng để thêm các nút có thể nhấp vào trang HTML của bạn. Nó có các thuộc tính khác nhau như loại, tên, hình thức, giá trị, tự động lấy nét, hình thức, v.v. , Thí dụ Gửisự kiện onclick xảy ra khi người dùng nhấp vào phần tử chứa sự kiện đó cú pháp
Thí dụ
thẻ được sử dụng để thêm âm thanh vào trang HTML của bạn. Nó có các thuộc tính như id, điều khiển. Thuộc tính điều khiển được sử dụng để thêm các điều khiển âm thanh như phát, tạm dừng, âm lượng. Thuộc tính autoplay được sử dụng để phát âm thanh tự động Phần tử cho phép người dùng chỉ định tệp nguồn âm thanh và loại âm thanh sẽ được phát cú pháp Thí dụ Phương thức cloneNode() được sử dụng để tạo các bản sao của phần tử HTML. Nó sao chép tất cả các thuộc tính và giá trị của chúng cú pháp element.cloneNode() Tham số true, false Nếu bạn muốn tạo bản sao của các phần tử con, thì hãy giữ tham số là true. Nếu không, hãy đặt nó thành false Thí dụ Phương thức appendChild() cho phép người dùng thêm một phần tử hoặc nút trở thành nút con cuối cùng của nút hoặc phần tử cha Trong mã của chúng tôi, nó được sử dụng để nối các bản sao của âm thanh vào phần thân của tài liệu cú pháp ________số 8Tham số nút hoặc phần tử sẽ được thêm vào Thí dụ Tạo một phần tử và nối nó vào phần thân của tài liệu. Bằng cách tải trước nhiều phiên bản âm thanhMột cách khác để phát âm thanh nhiều lần có thể là tải trước nhiều phiên bản của âm thanh. Trong phần này, chúng ta hãy tìm cách tải trước nhiều phiên bản âm thanh - Thí dụ0Nơi đây, Biến n được khai báo để xác định số lần bạn muốn lặp lại âm thanh Âm thanh biến đổi tạo ra một mảng cho tất cả các âm thanh vòng lặp for được sử dụng để có n bản sao khác nhau của âm thanh Phương thức push() được sử dụng để thêm các phần tử mới vào một mảng Thí dụ 1Đối tượng Audio() tạo và trả về một âm thanh HTML mới cú pháp 2Phát biến nói về phiên bản âm thanh nào được phát tại thời điểm đó. Để làm điều này, một lần nữa chúng tôi đã sử dụng vòng lặp for playSound là một chức năng trong đó chúng tôi yêu cầu trình duyệt phát âm thanh Thuộc tính âm lượng đặt âm lượng của âm thanh hiện đang phát cú pháp 3Giá trị đó là số xác định âm lượng. Nó phải nằm trong khoảng từ 0 đến 1 Thí dụ 1 là âm lượng cao nhất, 100% trong khi 0 là âm lượng thấp nhất, tắt tiếng && là toán tử logic. Nếu cả hai toán hạng boolean là true, thì toán tử trả về true, nếu không thì trả về false Thí dụ 5++ play[id] được sử dụng để chỉ định trình duyệt rằng sau mỗi lần phát âm thanh, sẽ có một khoảng tăng để phiên bản khác được phát Phần kết luậnTrong bài viết này, có nhiều phương pháp và cách tiếp cận khác nhau để phát cùng một âm thanh nhiều lần cùng lúc bằng HTML5 và Javascript Tôi đã tìm kiếm vấn đề này và thấy điều này. https. // stackoverflow. com/câu hỏi/25654558/html5-js-play-same-sound-multiple-times-at-the-same-time Nó dường như hữu ích, ngoại trừ sau đó một câu hỏi xuất hiện Nếu tôi thực hiện cloneNode(), nó sẽ sao chép âm thanh VÀ dữ liệu âm thanh hiện được tải hay nó sẽ phải tải lại dữ liệu? Các rãnh âm thanh là một tính năng của video HTML5 để cung cấp các lựa chọn rãnh âm thanh thay thế cho người dùng, để có thể phát một rãnh khác với rãnh chính. Băng hình. js cung cấp triển khai các bản âm thanh trên nhiều trình duyệt, cung cấp công nghệ phát lại hỗ trợ các bản âm thanh Các bản âm thanh được hỗ trợ trong Video. công cụ phát lại MSE của js cho HLS và DASH. Safari cũng hỗ trợ các bản âm thanh để phát lại HLS và MP4 gốc. Các trình duyệt khác không hỗ trợ các bản âm thanh để phát lại gốc bao gồm cả MP4, do đó, không thể hoạt động với các bản âm thanh MP4 trong Chrome hoặc Firefox chẳng hạn
Khi một bản nhạc được bật hoặc tắt trên 6, sự kiện 7 sẽ được kích hoạt. Bạn có thể lắng nghe sự kiện đó và làm điều gì đó với nó
Giả sử một trình phát đã tồn tại và có bản âm thanh mà bạn muốn xóa, bạn có thể thực hiện thao tác như sau Để biết thông tin đầy đủ hơn, hãy tham khảo Video. tài liệu API js, cụ thể
Lớp này dựa trên tiêu chuẩn 8 và có thể được sử dụng để tạo các đối tượng rãnh âm thanh mớiMỗi thuộc tính bên dưới có sẵn dưới dạng tùy chọn cho hàm tạo 8
Mã định danh duy nhất cho bản nhạc này. Băng hình. js sẽ tạo một cái nếu không được cung cấp
Băng hình. js hỗ trợ các giá trị 5 tiêu chuẩn cho 70
Nhãn cho bản nhạc sẽ được hiển thị cho người dùng. Ví dụ: trong menu liệt kê các ngôn ngữ khác nhau có sẵn dưới dạng bản âm thanh thay thế
Mã BCP 47 hợp lệ cho ngôn ngữ của bản âm thanh, e. g. 78 cho tiếng Anh hoặc 79 cho tiếng Tây Ban NhaĐể biết các bản dịch ngôn ngữ được hỗ trợ, vui lòng xem thư mục ngôn ngữ (/lang) nằm trong Video. js và tham khảo hướng dẫn ngôn ngữ để biết thêm thông tin về các ngôn ngữ trong Video. js
Có nên phát bản nhạc này hay không Trong Video. js, chúng tôi chỉ cho phép bật một bản nhạc tại một thời điểm; . Mặc dù thông số kỹ thuật cho phép bật nhiều bản nhạc, nhưng Safari và hầu hết các triển khai chỉ cho phép bật một bản âm thanh tại một thời điểm |