记录在文章中插入音乐或视频
简介
hexo-tag-mmedia 是 MonoLogueChi 自用的一个媒体插入插件,在添加部分功能后发布给大家使用
建议
个人推荐的话,音乐插入建议是MetingJS音乐插件,视频的话是Bilibili视频插件
支持的平台
使用
本插件与以下插件冲突
- hexo-tag-aplayer
- hexo-tag-dplayer
- hexo-tag-bilibili
如有安装,使用前请卸载。
1 2 3
| npm uninstall hexo-tag-aplayer npm uninstall hexo-tag-dplayer npm uninstall hexo-tag-bilibili
|
安装
1
| npm install hexo-tag-mmedia --save
|
需要修改主目录下的_config.yml
,一般无需修改直接使用即可
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| mmedia: aplayer: cdn: https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js style_cdn: https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css default: meting: cdn: https://cdn.jsdelivr.net/npm/meting/dist/Meting.min.js api: default: dplayer: cdn: https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.js style_cdn: https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.css hls_cdn: https://cdn.jsdelivr.net/npm/hls.j/dist/hls.min.js dash_cdn: https://cdn.jsdelivr.net/npm/dashjs/dist/dash.all.min.js shaka_dash_cdn: https://cdn.jsdelivr.net/npm/shaka-player/dist/shaka-player.compiled.js flv_cdn: https://cdn.jsdelivr.net/npm/flv.js/dist/flv.min.js webtorrent_cdn: https://cdn.jsdelivr.net/npm/webtorrent/webtorrent.min.js default:
|
default 项下可配置默认选项,例如:
1 2 3 4 5
| meting: cdn: https://cdn.jsdelivr.net/npm/meting/dist/Meting.min.js api: default: order: random
|
MetingJS音乐插件
在文件直接插入以下代码即可,注意一下,如果是Typora的话需要切换成源码模式再插入
示例
1 2 3
| {% meting "001Mf4Ic1aNYYK" "tencent" "album" "order:random" "listmaxheight:180px" %}
{% meting "auto:https://y.qq.com/n/yqq/song/001RGrEX3ija5X.html" "autoplay" %}
|
参数
基本兼容 hexo-tag-aplayer,绝大部分可以直接从 hexo-tag-aplayer 迁移,参数形式为 "option:vaule"
,不懂的可以参考 MetingJS
配置项 |
默认 |
描述 |
id |
必须 |
音乐 id,第一个参数 |
server |
必须 |
音乐平台,第二个参数,可选: netease , tencent , kugou ,xiami , baidu |
type |
必须 |
音乐类型,第三个参数,可选: song , playlist , album``search , artist |
auto |
无 |
有 auto 选项时前面参数不需要填写,否则为必填,见示例 2 |
autoplay |
false |
自动播放,带有此参数表示 true ,不带表示 false |
fixed |
false |
吸底模式,带有此参数表示 true ,不带表示 false |
mini |
false |
迷你模式,带有此参数表示 true ,不带表示 false |
listfolded |
false |
默认折叠列表,带有此参数表示 true ,不带表示 false |
mutex |
true |
互斥,如不需互斥 "mutex:false" |
theme |
#2980b9 |
主题颜色 |
loop |
all |
循环模式 ,可选值 all , one , none |
order |
list |
播放顺序,可选值 list , random |
preload |
auto |
预加载模式 ,可选 none , metadata , auto |
volume |
0.7 |
默认音量,可选 0-1 |
lrctype |
0 |
歌词类型 |
listmaxheight |
340px |
播放器最大高度 |
storagename |
metingjs |
后端服务器可以使用官方后端,也可以使用我自己写的后端服务器 MetingJS.Server 自建服务。
演示
1
| {% meting "001Mf4Ic1aNYYK" "tencent" "album" "order:random" "listmaxheight:180px" %}
|
1
| {% meting "auto:https://y.qq.com/n/yqq/song/001RGrEX3ija5X.html" "autoplay" %}
|
遇到的问题:
在文章中插入音乐之后,第一次打开博客进入文章时,音乐插件并没有加载出来,每次都是刷新一次后才加载出来
解决:
在主题配置文件中启用head.swig
后,再在~/source/_data/head.swig
中添加下面代码:
head.swig1 2 3 4 5
| <!-- require APlayer --> <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> <!-- require MetingJS --> <script src="https://cdn.jsdelivr.net/npm/meting@2/dist/Meting.min.js"></script>
|
Aplayer音乐插件
示例
1
| {% aplayer "Caffeine" "Jeff Williams" "caffeine.mp3" "picture.jpg" "lrc:caffeine.txt" %}
|
1
| {% aplayer title author url [picture_url, narrow, autoplay, width:xxx, lrc:xxx] %}
|
参数
配置项 |
默认 |
描述 |
title |
必须 |
曲目标题,第一个参数 |
author |
必须 |
曲目作者,第二个参数 |
url |
必须 |
音乐文件地址 |
picture_url |
|
音乐对应的图片地址 |
narrow |
false |
袖珍风格,带有此参数表示 true ,不带表示 false |
autoplay |
false |
自动播放,带有此参数表示 true ,不带表示 false |
width:xxx |
100% |
播放器宽度 |
lrc |
|
歌词地址 |
Bilibili视频插件
视频还是强烈推荐Bilibili的,毕竟视频又全又好用,关键免费
示例
1
| {% bilibili "aid:60016166" "quality:high" "danmaku" "allowfullscreen" %}
|
配置
配置项 |
默认 |
描述 |
aid |
必填 |
视频 av 号,填写 av 时非必填 |
av |
|
视频链接地址,不要带分 P 信息,与 aid 同时填写会被覆盖 |
page |
1 |
分 P,填写 av 时才会生效 |
quality |
low |
视频质量,可选 high low |
danmaku |
false |
开启弹幕,带有此参数表示 true,不带表示 false |
allowfullscreen |
true |
是否允许全屏 |
width |
100% |
宽度 |
height |
500px |
高度 |
margin |
auto |
位置,css 属性,例: "margin:auto" "margin:0 0 0 auto" |
演示
1
| {% bilibili “aid:60016166” “quality:high” “danmaku” “allowfullscreen” %}
|