一、基础概念
[00:00.00]这是第一句歌词
,其中[00:00.00]
就是时间标签,表示从歌曲开始到这一句歌词开始的时间(以分钟:秒.百分之一秒为单位)。XMLHttpRequest
或者fetch
API来获取文件内容。如果是本地文件(在开发环境下),也可以使用FileReader
对象来读取用户选择的本地LRC文件。二、相关优势
三、类型(这里主要指LRC文件的类型特点)
[ti:歌曲标题][ar:歌手名]
开头,然后再按照常规的歌词格式编写后续内容。四、应用场景
五、JavaScript读取LRC文件的示例代码(假设LRC文件名为lyrics.lrc
,且与HTML文件在同一目录下,在浏览器环境下)
fetch
APIfetch('lyrics.lrc')
.then(response => response.text())
.then(data => {
console.log(data);
// 这里可以对获取到的LRC歌词数据进行解析和处理
parseLRC(data);
})
.catch(error => console.error('Error fetching the LRC file:', error));
function parseLRC(lrcText) {
let lyrics = [];
let lines = lrcText.split('\n');
lines.forEach(line => {
let timeMatch = line.match(/\[(\d+):(\d+\.\d+)\](.*)/);
if (timeMatch) {
let minutes = parseInt(timeMatch[1]);
let seconds = parseFloat(timeMatch[2]);
let text = timeMatch[3].trim();
let time = minutes * 60+seconds;
lyrics.push({time: time, text: text});
}
});
console.log(lyrics);
// 现在`lyrics`数组包含了按时间顺序排列的歌词对象,可以在需要的时候显示歌词
}
<input type="file">
选择本地LRC文件(HTML部分)<input type="file" id="lrcFileInput">
JavaScript部分
document.getElementById('lrcFileInput').addEventListener('change', function (event) {
let file = event.target.files[0];
let reader = new FileReader();
reader.onload = function (e) {
let lrcText = e.target.result;
parseLRC(lrcText);
};
reader.readAsText(file);
});
六、可能遇到的问题及解决方法
http - proxy - middleware
)。如果是部署后的情况,确保LRC文件所在的服务器设置了正确的CORS(跨域资源共享)头,允许来自特定源或者所有源(Access - Control - Allow - Origin: *
,但不太安全,一般指定特定源更好)的访问。领取专属 10元无门槛券
手把手带您无忧上云