2024-09-06
建站教程
00

群友说可以用这个:https://aplayer.js.org/#/zh-Hans/

我也试试。

自定义 HTML (head)写入:

html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css"> <script src="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js"></script>

自定义 HTML (body)写入(我依旧是那两首歌):

html
<div id="aplayer"></div> <style> /* 将播放器固定在屏幕右边中央 */ .aplayer { position: fixed; right: 0; top: 50%; transform: translateY(-50%); width: 270px; /* 根据需要调整播放器的宽度 */ z-index: 9999; /* 保证播放器位于页面的最上层 */ } </style> <script> // 获取上次的播放进度和音频索引 const savedTime = localStorage.getItem('aplayer-current-time'); const savedIndex = localStorage.getItem('aplayer-current-index') || 0; // 初始化播放器 const ap = new APlayer({ container: document.getElementById('aplayer'), fixed: false, // 禁用吸底模式,使控件固定在右边 autoplay: false, // 不自动播放 listFolded: false, // 播放列表默认展开 loop: 'all', // 顺序循环播放所有音频 audio: [ { name: '去海边.mp3', artist: 'Unknown Artist', url: '/static/music/output.mp3', cover: '', }, { name: '病变.mp3', artist: 'Unknown Artist', url: '/static/music/output2.mp3', cover: '', } ] }); // 恢复上次播放的音频和进度 ap.list.switch(savedIndex); // 切换到上次播放的音频 ap.audio.currentTime = savedTime || 0; // 恢复播放进度 // 监听播放时间更新事件,将播放进度存储到localStorage ap.on('timeupdate', function () { localStorage.setItem('aplayer-current-time', ap.audio.currentTime); }); // 监听音频切换事件,将当前音频索引存储到localStorage ap.on('listswitch', function (index) { localStorage.setItem('aplayer-current-index', index); }); // 页面关闭或刷新时,保存播放状态 window.addEventListener('beforeunload', function () { localStorage.setItem('aplayer-current-time', ap.audio.currentTime); localStorage.setItem('aplayer-current-index', ap.list.index); }); </script>

是要好看很多呢:

image.png

如果延续播放不行,就只有在body放这个代码了:

js
```html <div id="aplayer"></div> <style> /* 将播放器固定在屏幕右边中央 */ .aplayer { position: fixed; right: 0; top: 50%; transform: translateY(-50%); width: 270px; /* 根据需要调整播放器的宽度 */ z-index: 9999; /* 保证播放器位于页面的最上层 */ } </style> <script> const ap = new APlayer({ container: document.getElementById('aplayer'), fixed: false, // 禁用吸底模式,使控件固定在右边 autoplay: false, // 不自动播放 listFolded: false, // 播放列表默认展开 loop: 'all', // 顺序循环播放所有音频 audio: [ { name: 'Output 1', artist: 'Unknown Artist', url: '/static/music/output.mp3', // 音乐文件1的URL cover: '', // 你可以添加封面图片URL }, { name: 'Output 2', artist: 'Unknown Artist', url: '/static/music/output2.mp3', // 音乐文件2的URL cover: '', // 你可以添加封面图片URL } ] }); </script>

还是放最底下可以上拉吧,以上的代码全部不看,只把下面的代码给入body即可:

html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css"> <script src="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js"></script> <div id="aplayer"></div> <style> /* 将播放器固定在底部,宽度调整为更适合的大小 */ .aplayer { position: fixed; bottom: -400px; /* 播放器初始隐藏位置 */ left: 50%; /* 居中显示 */ transform: translateX(-50%); /* 将播放器在水平方向居中 */ width: 320px; /* 自定义播放器的宽度 */ z-index: 9999; transition: bottom 0.4s ease; /* 平滑过渡 */ } /* 拉起后的状态 */ .aplayer.open { bottom: 0; /* 拉起时显示在屏幕底部 */ } /* 显示小标签,提示用户可以向上滑动 */ #pull-tab { position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: 320px; /* 与播放器宽度保持一致 */ height: 30px; background-color: #333; color: white; text-align: center; line-height: 30px; cursor: pointer; z-index: 10000; } </style> <div id="pull-tab">拉起播放器</div> <!-- 显示在播放器上方的小标签,用来拉起播放器 --> <script> // 获取上次的播放进度和音频索引 const savedTime = localStorage.getItem('aplayer-current-time'); const savedIndex = localStorage.getItem('aplayer-current-index') || 0; // 初始化播放器 const ap = new APlayer({ container: document.getElementById('aplayer'), fixed: false, // 禁用吸底模式 autoplay: false, // 不自动播放 listFolded: false, // 播放列表默认展开 loop: 'all', // 顺序循环播放所有音频 audio: [ { name: '去海边.mp3', artist: 'Unknown Artist', url: '/static/music/output.mp3', cover: '', }, { name: '病变.mp3', artist: 'Unknown Artist', url: '/static/music/output2.mp3', cover: '', } ] }); // 恢复上次播放的音频和进度 ap.list.switch(savedIndex); // 切换到上次播放的音频 ap.audio.currentTime = savedTime || 0; // 恢复播放进度 // 监听播放时间更新事件,将播放进度存储到localStorage ap.on('timeupdate', function () { localStorage.setItem('aplayer-current-time', ap.audio.currentTime); }); // 监听音频切换事件,将当前音频索引存储到localStorage ap.on('listswitch', function (index) { localStorage.setItem('aplayer-current-index', index); }); // 页面关闭或刷新时,保存播放状态 window.addEventListener('beforeunload', function () { localStorage.setItem('aplayer-current-time', ap.audio.currentTime); localStorage.setItem('aplayer-current-index', ap.list.index); }); // 切换播放器的显示状态 const aplayerElement = document.querySelector('.aplayer'); const pullTab = document.getElementById('pull-tab'); let isOpen = false; pullTab.addEventListener('click', function() { isOpen = !isOpen; if (isOpen) { aplayerElement.classList.add('open'); pullTab.innerHTML = '收起播放器'; } else { aplayerElement.classList.remove('open'); pullTab.innerHTML = '拉起播放器'; } }); </script>
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!