Hôm nay chúng ta sẽ tìm hiểu cách nhúng âm thanh (audio), phim ảnh (video) vào trang web và tự tay lập trình các nút bấm Phát/Dừng nhạc tùy biến bằng JavaScript.
<audio> và <video> để nhúng các tệp đa phương tiện vào web..play() và .pause() trong JavaScript để điều khiển phát/dừng nhạc.object-fit: cover; để hiển thị video/hình ảnh không bị méo mó."Một trang web giới thiệu trò chơi hay bán hàng sẽ trở nên cực kỳ sinh động nếu có thêm nhạc nền du dương hoặc các video hướng dẫn ngắn.
HTML cung cấp cho chúng ta hai chiếc thẻ siêu mạnh để nhúng nhạc và video trực tiếp vào trang web chính là thẻ **<audio>** và **<video>**."
Giáo viên giới thiệu cú pháp nhúng đa phương tiện:
<!-- Nhúng âm thanh -->
<audio id="nhac-nen" src="piano.mp3"></audio>
<!-- Nhúng video kèm bảng điều khiển mặc định của trình duyệt -->
<video id="video-huong-dan" src="phim.mp4" controls style="width: 300px;"></video>
Để tự thiết kế các nút bấm có hình thù đẹp mắt (như chiếc đĩa nhạc, phím DJ) thay thế cho thanh điều khiển mặc định màu xám thô kệch, chúng ta sẽ ẩn thuộc tính controls đi và điều khiển nhạc hoàn toàn bằng JavaScript.
Trong Scratch, các em phát và dừng âm thanh bằng các khối lệnh:
🔊 Phát âm thanh [Bell] (start sound [Bell]) và dừng tất cả âm thanh
Trong JavaScript, ta gọi các phương thức tương ứng trên thẻ audio:
// Phát âm thanh
document.getElementById('chuong').play();
// Dừng âm thanh
document.getElementById('chuong').pause();
Học sinh tìm hiểu cách viết các hàm phát nhạc và dừng nhạc trong thẻ script để gọi chạy từ sự kiện click chuột trên nút bấm.
function batNhac() {
let nhac = document.getElementById('nhac-nen');
nhac.play(); // Kích hoạt phát nhạc
}
function tatNhac() {
let nhac = document.getElementById('nhac-nen');
nhac.pause(); // Tạm dừng nhạc
}
Khi nhúng video, nếu khung chứa video có tỷ lệ khác với video gốc, video sẽ bị co méo rất xấu. Ta dùng thuộc tính CSS object-fit: cover; để cắt và lấp đầy khung hình mượt mà như màn hình rạp chiếu phim.
video {
width: 100%;
height: 200px;
object-fit: cover; /* Cắt và lấp đầy khung hình mà không bị méo */
border-radius: 10px;
border: 3px solid #6c5ce7;
}
Mô tả: Tạo trang web rạp chiếu phim mini chứa một tệp nhạc (hoặc video) được ẩn thanh điều khiển mặc định. Học sinh tự lập trình 2 nút bấm "PHÁT NHẠC" và "DỪNG" bằng JavaScript để điều khiển bài hát.
bai20-1, thư mục con assets chứa một tệp nhạc mp3 ngắn (ví dụ: bell.mp3), tạo file index.html và style.css.index.html, thiết lập tiêu đề <h1>: RẠP CHIẾU PHIM MINI CANDY.<audio id="chuong-nhac" src="bell.mp3"></audio>.<button class="nut-dj" onclick="phatNhac()">PHÁT NHẠC 🎵</button> và <button class="nut-dj" onclick="dungNhac()">DỪNG ⏹️</button>.
<script> ở cuối body:
function phatNhac() {
document.getElementById('chuong-nhac').play();
}
function dungNhac() {
document.getElementById('chuong-nhac').pause();
}
style.css, định dạng căn giữa, thiết kế nút bấm DJ to, nhiều màu sắc bắt mắt và đổi con trỏ chuột thành hình bàn tay.