马黑PHP整站系统

原生lrc歌词同步之自由路径进度条播放器

位置: 首页 > JS插件[ 发布时间: 2024.8.31  作者: 马黑  阅读: 288 ]

完全自由定制的进度条+按钮的播放器插件。进度条样式采用svg任意路径,即 path 标签中的 d 属性值,例如:

<!-- svg path 路径代码 -->
<path d="M 10 80 Q 52.5 10, 95 80 T 180 80" stroke="black" fill="transparent" />
<!-- 插件配置中我们只需要 d 属性的值:-->
path: 'M 10 80 Q 52.5 10, 95 80 T 180 80',

关于路径的设计,请参考 路径Path标签详解,一次搞懂所有命令参数,也可以自行查找更多的资料。设计路径时,路径尺寸应与播放器的尺寸规范一直,路径不能越界,越界部分将会看不到。

一、引用与配置代码举例:

<script>
var geci = `
	[00:00.107]歌词1
	[00:06.00]歌词2
	[00:10.00]歌词3
	[00:25.163]……
	[03:46.107]歌词N
`;
var sf = document.createElement('script');
sf.charset = 'utf-8';
sf.src = 'https://638183.freep.cn/638183/web/js2024/curve_yslrc.js';
document.body.appendChild(sf);

sf.onload = () => {
	HCPlayer({
		papa: '#mama',
		geci: geci,
		skip: 0,
		average: 0,
		path: 'M10 50 A90 45 0 1 1 190 50 A90 45 0 1 1 10 50',
		img: { play: '', pause: '' },
		btn: { left: 36, top: 32 },
		track: { track: 'lightblue', prog: 'white' },
		player_css: 'width: 200px; height: 100px; left: 50px; bottom: 10px;',
		lrc_css: 'left: 50%; top: 20px; transform: translateX(-50%);',
		fs_css: 'left: 50%; bottom: 20px; transform: translateX(-50%);',
	});
};
</script>

二、配置说明:

sf.onload = () => {
	HCPlayer({
		papa: '#mama', /* 配置帖子容器 id选择器(或class选择器 '.mama')*/
		geci: geci, /* 配置歌词,键值要与声明的歌词变量名一样 */
		skip: 0, /* 歌词起唱偏移值 */
		average: 0, /* 歌词演唱平均用时调整系数 */
		/* path参数是一个svg路径d属性值,可以任意设置各种形状的路径 */
		path: 'M10 50 A90 45 0 1 1 190 50 A90 45 0 1 1 10 50',
		/* img参数是按钮播放与暂停两个图片,控制表示使用插件自带的按钮 */
		img: { play: '', pause: '' },
		/* btn参数用于设置按钮基于播放器的位置,纯数值 */
		btn: { left: 36, top: 32 },
		/* track参数用于设置进度条底色和覆盖色,颜色值 */
		track: { track: 'lightblue', prog: 'white' },
		/* 播放器CSS设置 :宽高与定位 */
		player_css: 'width: 200px; height: 100px; left: 50px; bottom: 10px;',
		/* lrc歌词CSS设置(请参考其他插件) */
		lrc_css: 'left: 50%; top: 20px; transform: translateX(-50%);',
		/* 全屏按钮CSS设置 :定位于前景、背景色 */
		fs_css: 'left: 50%; bottom: 20px; transform: translateX(-50%);',
	});
};

关于参数 average:该参数在原生lrc歌词同步插件都可能出现,参数值是一个数值型,用于调整平均数,此参数值越合适,歌词同步月趋于准确。例如,歌词演唱用时平均值偏大时,可以给一个 0.5 或相应的数值,偏小时给个 -0.5 或相应的数值,具体数值大小视情况而定。

三、简化配置举例:

//可缺省的参数去掉,CSS配置部分使用默认配置
sf.onload = () => {
	HCPlayer({ papa: '#mama' });
};

四、应用实例:Princesses Don't Cry

前一篇: 原生lrc歌词同步之曲线进度条播放器
下一篇: mplayer插件配置及使用说明

发表评论:

       

评论列表 [1条]

#1 | 小希 于 2024-8-31 10:00 发布: path:这设置最最重要了。。得去找找之前收的网站

Copyright © 2023 All Right Reserved 马黑PHP文章管理整站系统v1.8
联系我们: gxblk@163.com