通过歌词调整进度时添加对偏移时间的计算
parent
e0e65e4374
commit
469832a598
|
@ -4,7 +4,8 @@ export const lyric = reactive({
|
|||
lines: [],
|
||||
text: '',
|
||||
line: 0,
|
||||
offset: 0, // 临时延迟
|
||||
offset: 0, // 歌词延迟
|
||||
tempOffset: 0, // 歌词临时延迟
|
||||
})
|
||||
|
||||
export const setLines = lines => {
|
||||
|
@ -17,3 +18,6 @@ export const setText = (text, line) => {
|
|||
export const setOffset = offset => {
|
||||
lyric.offset = offset
|
||||
}
|
||||
export const setTempOffset = offset => {
|
||||
lyric.tempOffset = offset
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ import Lyric from '@renderer/utils/lyric-font-player'
|
|||
import { getCurrentTime as getPlayerCurrentTime } from '@renderer/plugins/player'
|
||||
import { setDesktopLyricInfo, onGetDesktopLyricInfo } from '@renderer/utils/tools'
|
||||
import { player as eventPlayerNames } from '@renderer/event/names'
|
||||
import { lyric, setText, setLines, setOffset } from '@renderer/core/share/lyric'
|
||||
import { lyric, setText, setLines, setOffset, setTempOffset } from '@renderer/core/share/lyric'
|
||||
import { musicInfo, setStatusText, isPlay, playMusicInfo } from '@renderer/core/share/player'
|
||||
|
||||
export default ({ setting }) => {
|
||||
|
@ -17,11 +17,12 @@ export default ({ setting }) => {
|
|||
setStatusText(text)
|
||||
// console.log(line, text)
|
||||
},
|
||||
onSetLyric(lines) { // listening lyrics seting event
|
||||
onSetLyric(lines, offset) { // listening lyrics seting event
|
||||
// console.log(lines) // lines is array of all lyric text
|
||||
setLines(markRawList([...lines]))
|
||||
setText(lines[0] ?? '', 0)
|
||||
setOffset(0) // 重置临时延迟
|
||||
setOffset(offset) // 歌词延迟
|
||||
setTempOffset(0) // 重置临时延迟
|
||||
},
|
||||
// offset: 80,
|
||||
})
|
||||
|
@ -58,7 +59,7 @@ export default ({ setting }) => {
|
|||
}
|
||||
|
||||
const setLyricOffset = offset => {
|
||||
setOffset(offset)
|
||||
setTempOffset(offset)
|
||||
if (isPlay.value && (musicInfo.url || playMusicInfo.listId == 'download')) {
|
||||
setTimeout(() => {
|
||||
const time = getCurrentTime()
|
||||
|
|
|
@ -28,7 +28,7 @@ export default ({ isPlay, lyric }) => {
|
|||
if (time == -1) return
|
||||
handleSkipMouseLeave()
|
||||
isStopScroll.value = false
|
||||
window.eventHub.emit(eventPlayerNames.setProgress, time)
|
||||
window.eventHub.emit(eventPlayerNames.setProgress, Math.max(time + lyric.offset + lyric.tempOffset, 0))
|
||||
if (!isPlay.value) window.eventHub.emit(eventPlayerNames.setPlay)
|
||||
}
|
||||
const handleSkipMouseEnter = () => {
|
||||
|
|
|
@ -34,7 +34,7 @@ module.exports = class LinePlayer {
|
|||
if (this.translationLyric == null) this.translationLyric = ''
|
||||
this._initTag()
|
||||
this._initLines()
|
||||
this.onSetLyric(this.lines)
|
||||
this.onSetLyric(this.lines, this.tags.offset + this.offset)
|
||||
}
|
||||
|
||||
_initTag() {
|
||||
|
|
Loading…
Reference in New Issue