HTML Audio là một phần tử trong HTML cho phép bạn nhúng và phát âm thanh trực tiếp trên trang web. Với thẻ <audio>, bạn có thể nhúng các tệp âm thanh như .mp3, .wav, .ogg và cung cấp các điều khiển cho người dùng. HTML Audio là một công cụ tuyệt vời để thêm âm thanh vào trang web của bạn mà không cần sử dụng công nghệ Flash cũ.
Bài viết này là một phần của chuỗi học HTML trên "codetuthub.com", với các bài học hữu ích khác như HTML Video, HTML Media Attributes, và HTML Multimedia.
1. Giới thiệu về thẻ <audio>
Thẻ <audio> trong HTML được sử dụng để nhúng các tệp âm thanh vào trang web. Thẻ này có thể chứa một hoặc nhiều thẻ <source>, cho phép bạn cung cấp nhiều định dạng âm thanh khác nhau để tăng khả năng tương thích với các trình duyệt.
Cú pháp cơ bản
<audio controls>
<source src="https://codetuthub.com/example/file_MP3_1MG.mp3" type="audio/mpeg">
<source src="https://codetuthub.com/example/file_OOG_1MG.ogg" type="audio/ogg">
Trình duyệt của bạn không hỗ trợ thẻ audio.
</audio>Trong ví dụ này:
- Thuộc tính
controlscho phép hiển thị các điều khiển phát nhạc như nút phát/tạm dừng, âm lượng, và thanh tiến trình. - Thẻ
<source>chỉ định tệp âm thanh và định dạng của nó.
2. Các thuộc tính cơ bản của thẻ <audio>
2.1 controls
Thuộc tính controls hiển thị giao diện điều khiển âm thanh trên trình duyệt, cho phép người dùng phát, tạm dừng và điều chỉnh âm lượng.
<audio src="https://codetuthub.com/example/file_MP3_1MG.mp3" controls></audio>Khi có controls, người dùng sẽ thấy thanh điều khiển của trình phát âm thanh.
2.2 autoplay
Thuộc tính autoplay giúp âm thanh tự động phát khi trang web tải. Lưu ý rằng nhiều trình duyệt hiện đại không phát âm thanh tự động nếu không có sự tương tác của người dùng để tránh gây phiền hà.
<audio src="https://codetuthub.com/example/file_MP3_1MG.mp3" autoplay></audio>2.3 loop
Thuộc tính loop giúp âm thanh phát lặp lại liên tục.
<audio src="https://codetuthub.com/example/file_MP3_1MG.mp3" loop controls></audio>2.4 muted
muted giúp tắt tiếng âm thanh mặc định khi trang tải.
<audio src="https://codetuthub.com/example/file_MP3_1MG.mp3" muted controls></audio>2.5 preload
Thuộc tính preload kiểm soát mức độ tải trước của âm thanh khi trang được tải. Giá trị của preload bao gồm:
- auto: Tải toàn bộ âm thanh khi trang tải.
- metadata: Chỉ tải thông tin cơ bản như thời gian phát.
- none: Không tải trước âm thanh.
<audio src="https://codetuthub.com/example/file_MP3_1MG.mp3" preload="auto" controls></audio>3. Sử dụng nhiều định dạng âm thanh
HTML Audio hỗ trợ nhiều định dạng âm thanh, nhưng không phải trình duyệt nào cũng hỗ trợ tất cả định dạng. Do đó, bạn nên cung cấp nhiều nguồn khác nhau để đảm bảo tính tương thích.
<audio controls>
<source src="https://codetuthub.com/example/file_MP3_1MG.mp3" type="audio/mpeg">
<source src="https://codetuthub.com/example/file_OOG_1MG.ogg" type="audio/ogg">
Trình duyệt của bạn không hỗ trợ âm thanh.
</audio>Trong ví dụ này, nếu trình duyệt không hỗ trợ .mp3, nó sẽ chuyển sang .ogg để đảm bảo âm thanh vẫn được phát.
4. JavaScript với HTML Audio
Bạn có thể điều khiển âm thanh bằng JavaScript để tùy chỉnh thêm các tính năng. Một số phương thức và thuộc tính phổ biến bao gồm:
- play(): Phát âm thanh.
- pause(): Tạm dừng âm thanh.
- currentTime: Đặt hoặc lấy thời gian hiện tại của âm thanh (tính bằng giây).
- volume: Đặt hoặc lấy âm lượng của âm thanh (giá trị từ 0 đến 1).
Ví dụ điều khiển âm thanh bằng JavaScript
Câu lệnh INSERT INTO SELECT trong MySQL cho phép bạn chèn dữ liệu từ một bảng này sang bảng khác một cách nhanh chóng và...
Khám phá tất cả tính năng mới và cải tiến hiệu suất của PHP 8.4 tại CodeTutHub. Bài viết này giúp bạn nắm bắt các thay...
HTML là gì? Tìm hiểu HTML là gì và vai trò của HTML trong phát triển web. Bài viết giới thiệu các khái niệm cơ bản và...
Hướng dẫn chi tiết cách thêm CSS cho console.log trong JavaScript. Tìm hiểu console.log màu sắc, format console.log,...
Library vs Framework – Hiểu rõ sự khác nhau, so sánh chi tiết và ví dụ thực tế. Khi nào dùng library, khi nào dùng...
Khám phá 11 sai lầm chết người mà PHP developer hay mắc phải và cách tránh: SQL Injection, code spaghetti, không dùng...
Khám phá điểm mới trong PHP 8.5: pipe operator, array_first, fatal error stack trace, max_memory_limit… và các...
Vòng lặp for, while, do...while khác nhau như thế nào? Tìm hiểu cách chọn đúng loại vòng lặp cho từng tình huống trong...
