Open rakuzen25 opened 2 years ago
One solution I'm thinking of is to use the timeupdate
event:
player.on("timeupdate", () => {
player.lrc.update(player.audio.currentTime + offset);
});
But still feels a bit weird…
不知是否有办法定义下面的这个滚动高度呢?16 → 80
{
key: "update",
value: function () {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.player.audio.currentTime;
if (this.index > this.current.length - 1 || e < this.current[this.index][0] || !this.current[this.index + 1] || e >= this.current[this.index + 1][0])
for (var t = 0; t < this.current.length; t++) e >= this.current[t][0] && (!this.current[t + 1] || e < this.current[t + 1][0]) && (this.index = t, this.container.style.transform = "translateY(" + 16 * -this.index + "px)", this.container.style.webkitTransform = "translateY(" + 16 * -this.index + "px)", this.container.getElementsByClassName("aplayer-lrc-current")[0].classList.remove("aplayer-lrc-current"), this.container.getElementsByTagName("p")[t].classList.add("aplayer-lrc-current"))
}
},
I know I can preprocess the LRC file and adjust the timing before loading into APlayer, but I'm wondering if it's possible to change the lyrics offset on the fly without reloading the song.
For example, I'd like to do something like
lrc.setOffset(1000)
to +1000ms for each line.