-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdemo.js
74 lines (66 loc) · 2.44 KB
/
demo.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
var lyrics = []
var time = []
var textcontent = ''
function readLyric() {
let textfile = document.getElementById('orglyric').files[0]
var fileReader = new FileReader();
fileReader.onload = function(fileLoadedEvent){
var textFromFileLoaded = fileLoadedEvent.target.result;
textcontent = textFromFileLoaded.split('\r')
for (let i = 0; i < textcontent.length; i++) {
let lyric_line = textcontent[i].split(' ')
for (let j = 0; j < lyric_line.length; j++) {
if(lyric_line[j] == '\n') {
continue
}
lyrics.push(lyric_line[j])
}
}
};
fileReader.readAsText(textfile, "UTF-8");
}
function readTimestamp() {
let textfile = document.getElementById('textfile').files[0]
var fileReader = new FileReader();
fileReader.onload = function(fileLoadedEvent){
var textFromFileLoaded = fileLoadedEvent.target.result;
textcontent = textFromFileLoaded.split('\n')
for (let i = 0; i < textcontent.length; i++) {
if(textcontent[i] == '\n' || textcontent[i] == '' || textcontent[i] == ' '){
continue
}
let lyric_time = textcontent[i].split(' ')
timestr = lyric_time[1].split('\r')[0]
time.push(Number(timestr)*1000)
}
};
fileReader.readAsText(textfile, "UTF-8");
}
function alignLyrics() {
let align_lyrics = document.getElementById('lyric')
align_lyrics.textContent = ''
clearTimeout()
for (let i = 0; i < time.length; i++) {
setTimeout(() => {
let new_content = align_lyrics.textContent + ' ' + lyrics[i]
if(i < lyrics.length - 1) {
if(lyrics[i + 1][0] === '\n') {
if(lyrics[i + 1][1] === lyrics[i + 1][1].toUpperCase()) {
new_content += '.'
}
}else {
if(lyrics[i + 1][0] === lyrics[i + 1][0].toUpperCase()) {
new_content += '.'
}
}
}
align_lyrics.textContent = new_content
}, time[i]+200);
}
}
function loadSong() {
let audio_control = document.getElementById('playsong')
let song = document.getElementById('song').files[0]
let source = URL.createObjectURL(song)
audio_control.innerHTML = "<source src='" + source + "' type='audio/mp3'>"
}