读取歌词文本并按时间显示歌词

来源:互联网 发布:php html解析器 编辑:程序博客网 时间:2024/04/28 10:25

//第一种

var fs = require('fs');


fs.readFile('./lry.txt',function (err,data) {
    if (err) {
        throw err;
    }

    (function iterator(i){

        var line = data.toString().split('\n');

        // console.log(line.length);

        // [02:53.60] 我想一起越过所有困难和阻挡
        var reg = /\[(\d{2}):(\d{2})\.(\d{2})\]\s(.*)/;

        if (i == line.length) {
            return;
        }
        if (reg.exec(line[i])) {
            var arr = reg.exec(line[i]);
            var min = parseFloat(arr[1]);
            var second = parseFloat(arr[2]);
            var msec = parseFloat(arr[3]);
            var content = arr[4];

            // console.log(arr[0]);

            time = min * 60 * 1000 + second * 1000 + msec;

            // console.log(i);  //first time i => 3
            // console.log(i++); //wrong i++ => 3
            // console.log(i+1); //i + 1 => 4

            setTimeout(function() {
                console.log(content);
                iterator(i + 1);
                // console.log(i);
            }, time);
        } else {
            iterator(i + 1)
        }
    })(0)

});


//第二种

var fs = require('fs');

fs.readFile('./lry.txt', function (err,data) {
    if (err) {
        throw err;
    }

    var line = data.toString().split('\n');

    // console.log(line.length);

    // [02:53.60] 我想一起越过所有困难和阻挡
    var reg = /\[(\d{2}):(\d{2})\.(\d{2})\]\s(.*)/;

    for (var i = 0; i <= line.length; i++) {
        if (reg.exec(line[i])) {
            var arr = reg.exec(line[i]);
            var min = parseFloat(arr[1]);
            var second = parseFloat(arr[2]);
            var msec = parseFloat(arr[3]);
            var content = arr[4];
            // console.log(content);

            time = min * 60 * 1000 + second * 1000 + msec;
            // console.log(time);

            (function(content){
                setTimeout(function () {
                    console.log(content);
                },time);
            })(content);            
        }
    }
});

原创粉丝点击