Hexo主题插入音乐之aplayer音乐播放器
原文首发自:https://wiki.hushhw.cn/posts/a84d1ef1.html
今天折腾的点是给博客中插入音乐,找到的具体可行的方案有:
- 使用音乐平台提供的插件
体验很差
- 使用hexo-tag-aplayer插件
排了坑后体验极佳
使用音乐平台提供插件
以网易云为例,网页端点击生成外链播放器
即可生成外链代码,如我的某个歌单生成外链。
可以在自己博客页面中嵌入插件:
<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=530 height=310 src="//music.163.com/outchain/player?type=0&id=2205641361&auto=0&height=430">
</iframe>
效果:
缺点非常明显,而最不能忍得是网易音乐有些音乐因为版权保护,没办法生成外链:
[外链图片转存失败(img-nQjLxkao-1567680931243)(https://qn.hushhw.cn/images/Snipaste_2019-01-22_22-55-46.png)]
使用 hexo-tag-aplayer 插件
hexo-tag-aplayer 就是将 APlayer 内嵌入博客页面的 Hexo 插件。
安装执行:
$ npm install --save hexo-tag-aplayer
原先 hexo-tag-aplayer
不支持 MetingJS
,使得需要图片url,音乐url等等参数,操作起来都很麻烦,需要去音乐网站扒音乐播放链接或者下载下来存储在七牛云或本地,要了解具体参数和使用可以查看其中文文档了解。
MeingJS 支持 (3.0 新功能)
MetingJS 是基于Meting API 的 APlayer 衍生播放器,引入 MetingJS 后,播放器将支持对于 QQ音乐、网易云音乐、虾米、酷狗、百度等平台的音乐播放。
如果想在本插件中使用 MetingJS,请在 Hexo 配置文件 _config.yml
中设置:
aplayer:meting: true
接着就可以 在文章中使用 MetingJS 播放器了,例如打开网易云音乐网站找到这首coldplay
的《Viva la Vida》,从url中可以得到其id
为3986040
,按下面格式即可使用:
{% meting "3986040" "netease" "song" "theme:#555" "mutex:true" "listmaxheight:340px" "preload:auto" %}
再来一个歌单模板:
{% meting "627070825" "netease" "playlist" "theme:#555" "mutex:true" "listmaxheight:340px" "preload:auto" %}
有关选项列表如下:
选项 | 默认值 | 描述 |
---|---|---|
id | 必须值 | 歌曲 id / 播放列表 id / 相册 id / 搜索关键字 |
server | 必须值 |
音乐平台: netease , tencent , kugou , xiami , baidu
|
type | 必须值 |
song , playlist , album , search , artist
|
fixed |
false
|
开启固定模式 |
mini |
false
|
开启迷你模式 |
loop |
all
|
列表循环模式:all , one ,none
|
order |
list
|
列表播放模式: list , random
|
volume | 0.7 | 播放器音量 |
lrctype | 0 | 歌词格式类型 |
listfolded |
false
|
指定音乐播放列表是否折叠 |
storagename |
metingjs
|
LocalStorage 中存储播放器设定的键名 |
autoplay |
true
|
自动播放,移动端浏览器暂时不支持此功能 |
mutex |
true
|
该选项开启时,如果同页面有其他 aplayer 播放,该播放器会暂停 |
listmaxheight |
340px
|
播放列表的最大长度 |
preload |
auto
|
音乐文件预载入模式,可选项: none , metadata , auto
|
theme |
#ad7a86
|
播放器风格色彩设置 |
遇到的坑
我原先是用的主题是yilia
,非常喜欢它的相册功能,于是换到现在的主题后把该功能移植了过来,如果有小伙伴也想要实现可以参看我的这篇文章:『Hexo主题maupassant博客搭建相册』。
当把hexo-tag-aplayer 配置好并且用几个页面测试后,发现相册功能失效了,查找问题后发现在ins.js
中自动加了下面这些代码导致的失效。
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer@1.10/dist/APlayer.min.css">
<script src="https://cdn.jsdelivr.net/npm/aplayer@1.10/dist/APlayer.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/meting@1.2/dist/Meting.min.js"></script>
经过一番在网上寻找后无果后,于是决定仔细研读官方文档,查看官方的中文文档后发现,可能是插件的自动脚本插入功能导致的,使得ins.js
中自动插入了代码,于是关闭该功能试试:
aplayer:asset_inject: false
关闭后确实解决了问题,相册功能恢复,下面的问题就是自己配置插件,在需要的地方引用代码了。
####1. 恢复post页面插件功能
我是使用的主题maupassant-hexo都是用的是.pug
格式,其他小伙伴根据自己的渲染文件进行修改。
主题配置页面写入:
# 播放器
aplayer:enable: true
新建文件aplayer.pug
放在/layout/_partial
文件夹下,写入:
link(rel="stylesheet" type='text/css', href="https://cdn.jsdelivr.net/npm/aplayer@1.10/dist/APlayer.min.css")
script(type='text/javascript', src="https://cdn.jsdelivr.net/npm/aplayer@1.10/dist/APlayer.min.js")
script(type='text/javascript', src="https://cdn.jsdelivr.net/npm/meting@1.2/dist/Meting.min.js")
最后在post.pug
中引用即可:
if theme.aplayer.enableinclude _partial/aplayer.pug
这样在文章页面可以使用该插件了。
可以通过本地hexo server
来检查一下文章页面head
中有没有成功引入。
2. 在非post页面使用插件功能
我在/source/
文件夹下自定义的页面life
,我需要该页面使用插件,最简单的方式就是直接在index.md
中引用:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer@1.10/dist/APlayer.min.css">
<script src="https://cdn.jsdelivr.net/npm/aplayer@1.10/dist/APlayer.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/meting@1.2/dist/Meting.min.js"></script>
]
最终效果:
]
本文参考自:
https://github.com/MoePlayer/hexo-tag-aplayer
https://tianma.space/post/3998746934/index.html
Hexo主题插入音乐之aplayer音乐播放器相关推荐
- Hexo+Next用aplayer做播放器
aplayer是一个HTML5的音乐播放器 先上效果图 安装aplayer插件 在Hexo的根目录输入一下命令 npm install aplayer --save ##注意不是hexo-tag-ap ...
- 仿网易云音乐客户端的底部播放器的实现思路
2019独角兽企业重金招聘Python工程师标准>>> 猜测网易云音乐是写了baseactivity,每一个activity底部都有一个播放器,注意网易云音乐的页面切换没有动画效果, ...
- Guayadeque成为音乐爱好者的开源播放器的6个原因
最近,我将笔记本电脑的Linux升级到了最新版本,我惊讶和难过地发现,出色的音乐播放器Guayadeque似乎至少在Debian和Ubuntu中被认为是上游产品. 在1月的博客文章中 ,原始作者Jua ...
- Html5+Css3实现类似网易云音乐的移动版播放器
Demo Demo链接如下(支持Chrome与Safari,其它浏览器未测试)并非太完善,主体功能已实现,其它功能有时间在加上吧. http://followyourheart.sinaapp.com ...
- 一款免费听音乐和下载的播放器
引子 深夜孤枕难眠,顿觉人生无趣!突然想起一句话来,小时候为啥那么快乐,因为那个时候丑和穷没那么明显! 再想下去TM的都没法活了,果断起来听首歌压压惊!但是尼玛,打开音乐播放器,比如如说,酷狗,网易, ...
- Jo音乐——歌曲下载与播放器
更多文章请关注我的博客 简介 这是我一年前的课设 它写作歌曲播放器,读作wyy歌曲下载器() 它能勉强跑起来 它是一坨屎山 Github仓库 功能 所以,它就是一个极其简陋的音乐播放器,它大概长这个样 ...
- Java运用jna、vlcj实现音乐和视频的播放器1-主界面设计
一.播放器主框架 public class MainFrame {public JFrame frame;public int width = 100;public int height = 350; ...
- Android实训日志:基于外部存储的音乐播放器V05
目录 项目功能 实现步骤 创建安卓应用 将图片素材放入drawable 按钮图片选择器 编写主布局文件 编写字符串文件 创建音乐列表项模板music_name_list_item.xml 创建ui子包 ...
- 网易云音乐外链播放器代码的一个bug
最近想给网站里插入一个音乐,虽然网易云音乐支持外链播放器,但是实在是太不容易了.这里建议大家用本地音乐. 首先网易云音乐大部分歌曲是不支持外链播放器的,像是这样: csdn里也有很多博客写到可以找到这 ...
最新文章
- pythonexcel汇总_用python汇总excel表格数据-怎样用python遍历表格中的内容
- spoj Pattern Find(kmp)
- 在Microsoft Azure上运行Eclipse MicroProfile
- 原理解析 | 深入了解 Apache Flink 的网络协议栈
- 区间DP lightoj 1422
- Python中的unittest模块(入门学习款)
- 小写数字转大写_微软太坏了,这个函数居然被隐藏了,用它搞定数值转中文大小写...
- 【 PID 算法 】PID 算法基础
- 局域网显示服务器未启动,“Workstation服务器无法启动,所以上不连局域网解决方案”的解决方案...
- layui 勾选不联动父项 树形控件,treetable-lay
- php抽奖中了奖品后怎么处理,抽奖程序,求思路.该怎么处理
- 2020山东大学软件测试期末试题
- UWB是什么技术,主要的技术特点是什么?
- U盘可见空间只有200M的解决方法
- flink SourceFunction could not be inferred. Support for synthetic interfaces, lambdas, and generic
- uniapp使用讯飞语音合成
- 完整数字华容道05:游戏结束
- 深度学习研究理解:OverFeat:Integrated Recognition, Localization and Detection using Convolutional Networks
- 义务教师 obligatory tutor
- 我们所以为的“云计算”
热门文章
- EAS F7控件弹出表格隐藏某列
- EAS添加bos选不到的基础资料
- 快手智能处理与编码算法产品化之路
- 未明学院活动:领跑新年活动!寒假1个月,掌握券商/互联网/机器学习等七大热门行业实战技能!
- BCOP章鱼船长,6月22日晚上8点上线薄饼
- 年薪80万+年终奖汽车|显扬科技招聘三维机器视觉研发总监、高级三维算法工程师...
- python四级成绩_python 批量爬取四级成绩单
- [Xamarin.forms] FontAwesome图标字体库用法
- ArcGIS水文分析提取河网、流域、湖泊
- 短信接口防刷,限制IP的访问 部分笔记!