我有一个项目要做,用javascript制作卡拉OK。歌曲开始时,歌词必须跟随。
我的代码html:
<div id="lyric"></div>
<audio id="audioPlayer" controls>
<source src="http://supjs.fr/DEV2018/myKaraoke/music/LOR.mp3" type="audio/mpeg">
</audio>
文字档案中的歌词:
[00:00.00] Fanuilos heryn aglar
[00:10.00]RÃ> natharannºn-aearath
[00:20.00] Calad ammen i reniar
[00:30.00] Mi'aladhremmin ennorath
[00:40.00]一个Elbereth! Gilthoniel!
[00:50.00]我很喜欢一个林先生
[01:00.00] Fanuilos! Le linnathon
[01:09.00]我很高兴看到我的心情
[01:20.00] elin na gaim eglerib
[01:30.00]Nedénben-anor trerennin
[01:39.00] Si silivrin ne pherth'waewib
[01:48.00] Cenimlythlthéthuienien
[01:58.00] Elbereth Gilthoniel
[02:08.00] MenechenimsÃderthiel
[02:17.00] Ne chaered hen nu'aladhath
[02:27.00] Ngilith或annäº-aearath
和javascript:
window.onload = function(){
var track = document.getElementById('audioPlayer');
track.ontimeupdate = function(){
console.log(this.currentTime);
if (this.currentTime > 0 && this.curentTime < 9){
getRSS(0);
}
};
};
function getRSS(i) {
var rss = new XMLHttpRequest();
console.log("hello");
rss.open('GET', 'lyrics.txt', false);
console.log("hello1");
rss.send(null);
console.log("hello");
var ligne = rss.responseText.split(/\n/g);/* Stock tout le fichier dans la variable (tableau)*/
console.log("hello");
var linkRss = ligne[i];
document.write(linkRss);
}
它不起作用,线条出现但音乐停止,音频消失,我不明白发生了什么可以有人帮助我?
答案 0 :(得分:0)
您的问题是,您使用document.write(linkRss);
声明覆盖您的网页。
您必须将文本附加到div元素,而不是整个文档。
document.getElementById('lyric').innerHTML += linkRss;
请注意,您正在将基于时间的代码与异步代码混合在一起,这将很难处理,也无法按预期的行为运行。
答案 1 :(得分:-1)
尝试这个,也许: new Date()。getTime()