博客添加Aplayer音乐播放器

音乐就像是一把神奇的钥匙,开启了一扇扇通往过去的门。所以我想在我自己的博客网站中,将这开门的瞬间给记录下来。将那些或珍贵或伤痛或美好的记忆碎片一一拾起,拼凑成一幅属于自己的人生画卷,让自己在岁月的长河中得以一次次回溯,去重新审视那些走过的路、遇见过的人、经历过的事,在音乐的怀抱里,与曾经的自己深情相拥,感悟着时光的流转与生命的厚重。

在博客上的音乐播放器大多是那种 Mini 音乐播放器,只显示一个MP3的播放按钮,虽然很便捷,但我一直觉得不够正式,音乐列表看起来也不够直观,我希望的文章上能有一个看起来比较正式的播放器,在自己的文章中显示音乐播放器

这里我选择用Aplayer,这里我来介绍一下具体的实现过程

音乐插件

对比了几款音乐插件,我最终选定了 Aplayer.js,因其界面美观,功能强大。音乐播放器的音乐信息,歌词,进度条,音量,顺序模式,循环模式都支持。可以使用三方音乐外链,也可以使用自己的音乐链接。

当然,由于一些限制,打开以上链接为概率性事件...如果RP不足可以留言博主

实现代码

将 Aplayer 插件 APlayer.min.jsAPlayer.min.css 上传到服务器,如果博客使用 WordPress 可上传到服务器网站能访问到的目录下,通过链接 https://IP/your_file/Aplayer.min.js ,就可以访问到

个人还是觉得东西都放在本地更有安全感但是也可以直接使用 jsdeliver CDN 方式,更快更方便,但不稳定,偶尔抽风...

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Music Player</title>
  //	如果使用本地的话可以将以下链接改成本地
    <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>
</head>
<body>
    <div id="aplayer"></div>
    <script>
        const ap = new APlayer({
            element: document.getElementById('aplayer'),
            music: [{
                title: '半岛铁盒',
                author: '周杰伦',
                url: 'https://echeverra.cn/wp-content/uploads/2022/05/周杰伦-半岛铁盒.mp3',
                pic: 'https://echeverra.cn/wp-content/uploads/2022/05/周杰伦-半岛铁盒-mp3-image.png'
            }]
        });
    </script>
</body>
</html>

效果如下

这个比初始的好点当时还是略显单调,我们还可以再改进一番让他改成类似与我QQ音乐的播放器一样单曲二行显示的感觉

经过更改后最终效果如下

单曲代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>Music Player</title>
		<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>
		<style>
			/* 当是一首歌的时候 加上这个 */
			.aplayer-list {
				display: block !important;
			}
		</style>
	</head>
	<body>
		<div id='aplayer'></div>
		<script>
			var ap = new APlayer({
				element: document.getElementById('aplayer'),
				showlrc: false,
				fixed: false,
				mini: false,
				preload: 'none',
				// 这个是放歌的 数组
				audio: {
					// 这个是放歌的,更改url即可自定义歌曲 
					title: '半岛铁盒',
					author: '周杰伦',
					url: 'https://echeverra.cn/wp-content/uploads/2022/05/周杰伦-半岛铁盒.mp3',
					pic: 'https://echeverra.cn/wp-content/uploads/2022/05/周杰伦-半岛铁盒-mp3-image.png'
				},
			});
			// 添加 按钮 按下的监听事件
			document.addEventListener('keydown', function(e) {
				// 播放/暂停
				if (e.code == 'Space') {
					e.preventDefault(); // 防止空格键引起的页面滚动
					if (ap.paused) {
						ap.play();
					} else {
						ap.pause();
					}
				}
			});
		</script>
	</body>
</html>

播放列表的代码

有时候我们需要播放一个列表,再数组里添加就行,新加了一个通过方向键<- -> 控制的逻辑

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>Music Player</title>
		<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>
	</head>
	<body>
		<div id='aplayer'></div>
		<script>
			var ap = new APlayer({
				element: document.getElementById('aplayer'),
				showlrc: false,
				fixed: false,
				mini: false,
				preload: 'none',
				// 这个是放  歌的 数组[]  这个是数组 {} 这个是对象
				audio: [{
						// 这个是 放歌的 
						title: '半岛铁盒',
						author: '周杰伦',
						url: 'https://echeverra.cn/wp-content/uploads/2022/05/周杰伦-半岛铁盒.mp3',
						pic: 'https://echeverra.cn/wp-content/uploads/2022/05/周杰伦-半岛铁盒-mp3-image.png'
					},
					{
						// 这个是 放歌的 
						title: '爱在西元前',
						author: '周杰伦',
						url: 'https://echeverra.cn/wp-content/uploads/2022/05/周杰伦-半岛铁盒.mp3',
						pic: 'https://echeverra.cn/wp-content/uploads/2022/05/周杰伦-半岛铁盒-mp3-image.png'
					},
		

				],
			});
			// 添加 按钮 按下的监听事件
			document.addEventListener('keydown', function(e) {
				// 上一首
				if (e.code == 'ArrowLeft') {
					ap.skipBack();
				}
				// 下一首
				else if (e.code == 'ArrowRight') {
					ap.skipForward();
				}
				// 播放/暂停
				else if (e.code == 'Space') {
					e.preventDefault(); // 防止空格键引起的页面滚动
					if (ap.paused) {
						ap.play();
					} else {
						ap.pause();
					}
				}
			});
		</script>
	</body>
</html>

效果如下

播放第三方歌单

Meting 主要参数说明:

参数

默认值

描述

id

require

歌曲 ID / 播放列表 ID / 专辑 ID / 搜索关键字

server

require

音乐平台: netease

, tencent

, kugou

, xiami

, baidu

type

require

类型:song

, playlist

, album

, search

, artist

auto

options

音乐链接,支持,支持: netease

, tencent

, xiami

实现代码如下

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<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>
		<script src="https://cdn.jsdelivr.net/npm/meting@2.0.1/dist/Meting.min.js"></script>
		<!-- 这个id改一下就行了  这个是网易云的   qq音乐的 也是 改一下serve 就行了 还有  type 是用来选择单曲还是列表的 -->
		<meting-js server="netease" type="playlist" id="7360465359"></meting-js>
	</head>
	<body>
	</body>
</html>

效果如下

欢迎访问个人博客网站:https://www.helloljm.com

### 如何在 Hexo 博客添加和配置 Aplayer 音乐播放器 #### 插入 APlayer 到 Hexo 文章内 为了使 APlayer 能够嵌入到特定的文章内容之中,可以通过自定义 HTML 来实现这一目标。具体操作如下: ```html <!--aplayer--> <link rel="stylesheet" href="https://unpkg.com/browse/aplayer@1.10.1/dist/APlayer.min.css"> <div id="aplayer"></div> <script src="https://unpkg.com/browse/aplayer@1.10.1/dist/APlayer.min.js"></script> <script src="https://你的域名/js/useaplayer.js"></script> ``` 上述代码片段展示了如何通过链接外部资源文件来加载 APlayer 所需的样式表以及 JavaScript 文件,并指定了一个用于承载播放器实例化的 DOM 容器 `id` 属性为 "aplayer"[^4]。 #### 使用 MetingJS 提升功能 考虑到更丰富的用户体验需求,推荐采用 MetingJS 进一步增强 APlayer 功能。MetingJS 构建于 Meting API 上面,允许访问多个在线音乐服务平台的数据源,从而使得用户能够轻松获取来自不同平台上的歌曲信息并进行播放[^3]。 #### 在 Hexo 中全局应用 APlayer 如果希望在整个网站范围内默认启用 APlayer,则可以在主题设置里做相应调整。例如,在使用 Yilia 主题的情况下,可通过编辑 `_config.yml` 或者其他相关配置文件的方式加入必要的初始化脚本与样式声明,确保每次页面加载时自动创建好相应的播放控件[^1]。 对于 Butterfly 等其他类型的 Hexo 主题而言,同样存在类似的机制可供利用;通常只需按照官方文档指示找到合适的钩子位置插入所需的 `<script>` 和 `<style>` 标签即可完成集成工作[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明弟有理想

觉得有帮助可以投喂下博主~感谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值