你可以通过以下步骤在博客首页上添加音乐播放器并设置控件为悬浮播放按钮。以下代码分别放入你博客的自定义 CSS、自定义 Script、自定义 HTML (body) 中。
你可以使用 ffmpeg
通过调整音频比特率来缩小音乐文件的大小。以下是一些常见的 ffmpeg
命令,用于缩小音频文件的大小。
ffmpeg
(如果尚未安装)在使用前,确保你已经安装了 ffmpeg
。可以通过以下方式安装:
bashbrew install ffmpeg
bashsudo apt update sudo apt install ffmpeg
ffmpeg
缩小音频文件你可以通过降低比特率来缩小文件大小。以下命令将比特率调整为 128kbps 来压缩音频文件。
bashffmpeg -i input.mp3 -b:a 128k output.mp3
-i input.mp3
: 输入的音乐文件路径。-b:a 128k
: 将音频比特率设置为 128 kbps。output.mp3
: 输出文件路径。你也可以将音频文件转换为更高压缩率的格式,如 aac
或 opus
,以进一步缩小文件大小。例如,将文件转换为 AAC 格式:
bashffmpeg -i input.mp3 -c:a aac -b:a 96k output.aac
降低采样率也能进一步压缩音频文件。比如将采样率降到 22050 Hz:
bashffmpeg -i input.mp3 -ar 22050 output.mp3
-ar 22050
: 将采样率调整为 22050 Hz。为了更好地平衡文件大小和音质,以下命令可以将音频文件比特率调整到 96kbps,并转换为 aac
格式:
bashffmpeg -i input.mp3 -c:a aac -b:a 96k -ar 44100 output.aac
这个命令会压缩文件大小,同时尽量保留音质,常用于手机或网页背景音乐等场景。
你可以根据文件大小和音质的平衡来调整比特率,通常建议在 96kbps 至 192kbps 之间进行选择。
然后在static中新建目录music,将音乐文件放进去,比如我放了2首:
添加以下 CSS 代码,设置音乐控件的样式,使其悬浮在网页右边的中央:
css#music-player-container {
position: fixed;
right: 20px;
top: 50%;
transform: translateY(-50%);
z-index: 1000;
background-color: rgba(255, 255, 255, 0.8);
padding: 10px;
border-radius: 10px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}
#play-pause-btn {
cursor: pointer;
font-size: 24px;
background: none;
border: none;
outline: none;
color: #333;
}
#play-pause-btn:hover {
color: #000;
}
如图所示:
添加以下 JavaScript 代码,实现音乐的顺序播放功能,并设置播放和暂停的按钮行为。需要根据你音乐名字改一下代码里的音乐文件都有哪些。
javascriptdocument.addEventListener("DOMContentLoaded", function () {
const musicFiles = [
'/static/music/output.mp3',
'/static/music/output2.mp3'
];
let currentTrack = 0;
const audio = new Audio(musicFiles[currentTrack]);
let isPlaying = false;
const playPauseButton = document.getElementById("play-pause-btn");
function playMusic() {
audio.play();
isPlaying = true;
playPauseButton.textContent = '⏸️'; // Pause icon
}
function pauseMusic() {
audio.pause();
isPlaying = false;
playPauseButton.textContent = '▶️'; // Play icon
}
playPauseButton.addEventListener("click", function () {
if (isPlaying) {
pauseMusic();
} else {
playMusic();
}
});
// When the current track ends, move to the next track
audio.addEventListener("ended", function () {
currentTrack = (currentTrack + 1) % musicFiles.length;
audio.src = musicFiles[currentTrack];
if (isPlaying) {
playMusic();
}
});
});
如图所示:
在 body
部分添加如下 HTML 代码来放置播放/暂停按钮:
html<div id="music-player-container">
<button id="play-pause-btn">▶️</button>
</div>
如图所示:
一般不需要特别的 <head>
配置,除非你需要加载外部资源。在此情况下无需额外内容。
这样设置完成后,音乐控件会在你博客首页的右侧中央悬浮,点击按钮后,歌曲会按照顺序播放并支持暂停,默认情况下音乐是暂停的。
这样就有一个控件跟随网页了,如下图所示。音乐文件小一点比较好,不然拉音乐资源也耗时间。但切换网页音乐就停了,不是很懂前端如何保存这类资源的调用维绪,欢迎评论指出~
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!