原生lrc歌词同步之假相应频谱播放器
进度可控。以事先获得音频波形数据做响应依据驱动频谱运动,缺省音波数据时插件自建一个随机数据,律动响应差强人意;可以访问《获取本地音频波形数据》采集本地特定音频的音波数据。
一、引用与配置代码举例:
<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/jxypp_yslrc.js'; document.body.appendChild(sf); sf.onload = () => { HCPlayer({ papa: '#mama', geci: geci, ypData: ypData, skip: -0.3, average: -0.5, pinpu: { size: 4, gap: 2, max: 150 }, player_css: 'right: 20px; bottom: 10px; --ww: 400px; --color1: darkgreen; --color2: lightgreen;', lrc_css: 'left: 50%; top: 20px; --bg: linear-gradient(lime, green); color: lightgreen;', fs_css: 'left: 20px; bottom: 20px; --bg: green; --color: white;', }); }; </script>
二、配置说明:
sf.onload = () => { HCPlayer({ papa: '#mama', /* 帖子id选择器或类选择器'.mama',必须 */ geci: geci, /* 声明好的歌词变量 */ ypData: ypData, /* 声明好的音波数据,可缺省 */ skip: -0.3, /* 歌词起唱偏移量 */ average: -0.5, /* 歌词平均演唱用时调节系数 */ /* 频谱对象设置,厚度与间隔会影响频谱总数 */ pinpu: { size: 4, gap: 2, max: 150 }, /* 频谱厚度、间隔值、最高值 */ /* 播放器CSS设置 频谱颜色仅支持颜色表达法 */ player_css: ` right: 20px; /* 支持left定位 */ bottom: 10px; /* 支持top定位 */ --ww: 400px; /* 宽度(影响频谱总数) */ --color1: darkgreen; /* 频谱颜色(主色)*/ --color2: lightgreen; /* 频谱颜色(配色)*/ `, /* 歌词界面CSS设置 */ lrc_css: ` left: 50%; /* 支持left定位 */ top: 20px; /* 支持bottom定位 */ color: lightgreen; /* 歌词底色 */ --bg: linear-gradient(lime, green); /* 歌词进度颜色 */ `, /* 全屏按钮CSS设置 */ fs_css: ` left: 20px; /* 支持right定位 */ bottom: 20px; /* 支持top定位 */ --bg: green; /* 按钮背景色 */ --color: white; /* 按钮前景色 */ `, }); };
关于参数 average:该参数在原生lrc歌词同步插件都可能出现,参数值是一个数值型,用于调整平均数,此参数值越合适,歌词同步月趋于准确。例如,歌词演唱用时平均值偏大时,可以给一个 0.5 或相应的数值,偏小时给个 -0.5 或相应的数值,具体数值大小视情况而定。
三、简化配置举例:
//可缺省的参数去掉,CSS配置部分使用默认配置 sf.onload = () => { HCPlayer({ papa: '#mama' }); };
四、应用实例:偏爱
前一篇: 原生lrc歌词同步之卡式磁带播放器
下一篇: 原生lrc歌词同步之老唱机播放器
发表评论:
评论列表 [2条]
#2 | 知名不具 于 2024-8-27 19:19 发布: 频谱有主色和配色的选择,也可以让频谱更好看了。
#1 | 小希 于 2024-8-26 08:57 发布: 这个贴子必须跟一个,得复习一下音波数据做法。。