菜鸟科技网

网页如何添加背景音乐?

使用 HTML5 <audio> 标签(最常用、最灵活)

这是目前最推荐、最标准的方法。<audio> 标签是 HTML5 的一部分,它允许你直接在页面中嵌入音频内容,而无需任何插件。

网页如何添加背景音乐?-图1
(图片来源网络,侵删)

基本语法

<audio src="你的音乐文件路径.mp3" controls>
  您的浏览器不支持 audio 标签。
</audio>
  • src: 指定音频文件的 URL,可以是相对路径或绝对路径。
  • controls: 在浏览器中显示一个默认的播放控件(播放/暂停、进度条、音量等)。
  • 您的浏览器不支持 audio 标签: 如果浏览器不支持 <audio> 标签,则会显示这段文本。

常用属性

属性 描述
autoplay autoplay 音频加载后自动播放。注意: 现代浏览器(如 Chrome, Firefox)通常禁止自动播放,除非用户与页面有过交互(例如点击了按钮)。
loop loop 音频播放完毕后,自动重新开始。
muted muted 音频默认静音。
preload auto / metadata / none 定义如何加载音频。
- auto: 浏览器应尽快加载整个音频文件。
- metadata: 只加载音频的元数据(如时长)。
- none: 不加载音频。
volume 00 设置音量,volume="0.5" 表示50%音量。

代码示例:带播放按钮的背景音乐

自动播放通常会被阻止,所以一个更好的用户体验是让用户点击按钮来播放音乐。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">网页音乐示例</title>
    <style>
        body {
            font-family: sans-serif;
            text-align: center;
            padding-top: 50px;
        }
        #playButton {
            padding: 10px 20px;
            font-size: 16px;
            cursor: pointer;
            background-color: #007bff;
            color: white;
            border: none;
            border-radius: 5px;
        }
    </style>
</head>
<body>
    <h1>欢迎来到我的网站</h1>
    <p>点击下方按钮播放背景音乐</p>
    <button id="playButton">播放音乐</button>
    <!-- 
      注意:为了演示,这里使用了来自网络的示例音频。
      请替换为你自己的音乐文件路径。
    -->
    <audio id="myAudio" loop>
        <source src="https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3" type="audio/mpeg">
        您的浏览器不支持 audio 标签。
    </audio>
    <script>
        const audio = document.getElementById('myAudio');
        const playButton = document.getElementById('playButton');
        playButton.addEventListener('click', function() {
            // 如果音频已暂停,则播放它
            if (audio.paused) {
                audio.play();
                playButton.textContent = '暂停音乐';
            } else {
                // 否则,暂停它
                audio.pause();
                playButton.textContent = '播放音乐';
            }
        });
    </script>
</body>
</html>

使用 <iframe> 嵌入外部音乐服务(如 Spotify, YouTube)

如果你想在网页中嵌入来自第三方平台(如 Spotify、Apple Music、YouTube)的音乐,<iframe> 是最简单的方法。

优点:

  • 无需自己托管音乐文件。
  • 可以利用平台的丰富音乐库和播放列表。
  • 通常提供美观的播放器界面。

缺点:

  • 需要网络连接。
  • 播放器样式和功能受限于第三方平台。
  • 可能会有品牌标识或广告。

示例:嵌入 Spotify 播放列表

  1. 在 Spotify 上找到你想要的专辑、播放列表或歌曲。
  2. 点击专辑/播放列表右上角的 按钮。
  3. 选择 "分享" -> "嵌入"
  4. Spotify 会生成一段 <iframe> 代码,复制它即可。
<!-- 示例:嵌入一个 Spotify 专辑 -->
<iframe 
    src="https://open.spotify.com/embed/album/4yP0hdKOZPNshxUOjYy1Ij?utm_source=generator&theme=0" 
    width="100%" 
    height="352" 
    frameBorder="0" 
    allowfullscreen="" 
    allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
    loading="lazy">
</iframe>

使用 <embed><object> 标签(已过时)

这两种是 HTML4 时代的方法,现在不推荐使用,它们主要用于嵌入 Flash 或其他插件,而 Flash 现在已被淘汰。

<!-- 不推荐使用 -->
<embed src="music.mp3" autostart="true" loop="true" hidden="true">
<object data="music.mp3" type="audio/mpeg">
    <param name="autoplay" value="true">
    <param name="loop" value="true">
    <param name="hidden" value="true">
</object>

最佳实践和注意事项

  1. 文件格式和兼容性

    网页如何添加背景音乐?-图2
    (图片来源网络,侵删)
    • MP3: 最广泛支持的格式,兼容性最好。
    • AAC (M4A): 比 MP3 效率更高,音质更好,也是 Apple 设备的首选。
    • OGG: 开源格式,在 Firefox 和 Chrome 中支持良好。
    • WAV: 无损格式,文件体积巨大,不推荐用于网页背景音乐。
    • 最佳实践: 使用 <source> 标签提供多种格式,让浏览器选择它最支持的格式。
    <audio controls>
        <source src="music.mp3" type="audio/mpeg">
        <source src="music.ogg" type="audio/ogg">
        您的浏览器不支持 audio 标签。
    </audio>
  2. 用户体验至关重要

    • 不要自动播放: 除非有特殊原因(如游戏内音效),否则永远不要让音乐自动播放,这会打扰用户,并且很多浏览器会直接阻止它,导致功能失效。
    • 提供控制: 让用户能够暂停/播放调节音量,隐藏控件 (hidden="true") 是非常糟糕的体验。
    • 循环播放: 如果是背景音乐,设置 loop 属性让音乐循环播放是个好主意。
  3. 文件大小和加载性能

    • 音频文件可能很大,会影响网页加载速度。
    • 使用 preload="metadata"preload="none" 来优化首次加载速度。
    • 考虑使用音频压缩工具(如 FFmpeg)来减小文件体积,在可接受的音质范围内。
  4. 版权问题

    • 绝对不要使用受版权保护的音乐(如流行歌曲)作为你网站的背景音乐,除非你获得了明确的授权。
    • 使用免版税音乐网站,如:
      • YouTube Audio Library
      • Free Music Archive
      • Bensound
      • Pixabay Music
方法 优点 缺点 适用场景
<audio> 标准、灵活、无依赖、完全可控 需要自己托管文件,处理兼容性 强烈推荐,用于网站自己的背景音乐、音效、播客等。
<iframe> 嵌入 无需托管,利用第三方平台资源 依赖网络,受限于第三方,有品牌标识 嵌入 Spotify/YouTube 的播放列表或单曲。
<embed>/<object> (已过时) 已被淘汰,依赖 Flash 不再使用。

对于绝大多数情况,使用 HTML5 <audio> 是最佳选择,它提供了最大的灵活性和控制力,并且是现代网页开发的标准。

网页如何添加背景音乐?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇