使用node實現歌詞滾動輸出

2021-08-13 23:13:26 字數 1122 閱讀 9088

運用fs,path,iconv三個模組實現歌詞滾動列印.

// 動態顯示歌詞

const fs = require(『fs』);

const path = require(『path』);

const iconv = require(『iconv-lite』);

//獲取字幕檔案路徑

fs.readfile(path.join(__dirname, 『./../lyrics/血染的風采.lrc』), (error, data) => ):(\d).(\d)]\s(.+)/;

var begin = new date().gettime();

// 遍歷

lines.foreach((line) => , m * 60 * 1000 + s * 1000 + f - offset);

} else

});

});

首先定義3個常量,將模組匯入。接著呼叫fs方法的api(readfile),寫乙個路徑方法和箭頭函式.

用iconv方法把gbk解碼(windows預設編碼是gbk)換成字串,然後賦值給區域性變數lines

再寫乙個正則賦值給regex變數。將date物件實列化

區域性變數lines寫了乙個遍歷方法foreach然後將箭頭函式作為引數傳遞進去,箭頭函式有乙個引數,是用來接收lines的值.

再定義乙個matches變數用以校對正規表示式,只保留經正規表示式過濾的引數

寫乙個if判斷,定義三個float區域性變數用以接收matches的時間,還有乙個變數接收matches的字串

由於**執行需要一定的時間,所以與歌詞實際時間稍有不偏差,所以要定義兩個物件,在相減得到偏移值

在寫乙個settimeout函式,把上面的分秒毫(偏移量)加進去,得到滾動顯示的時間。由於每個時間差各自不同,所以不能簡單粗暴的直接寫上乙個number值.

每到乙個時間點,觸發一次settimeout元素這樣反覆輸出,達到歌詞滾動效果

node使用 實現console輸出不同顏色

1 輸出及列印如下 console.log x1b 31m s x1b 0m 這是紅色 console.log x1b 36m s x1b 0m 這是青色 2 規則說明 npm i colors console d2 使用const colors require colors console con...

利用python基礎實現停頓輸出歌詞

給出一段字串,其中包括時間和歌詞,按照時間的順序進行輸出歌詞。歌詞樣式如下 musiclrc 00 03.50 傳奇 00 19.10 作詞 劉兵 作曲 李健 00 20.60 演唱 王菲 00 26.60 04 40.75 02 39.90 00 36.25 只是因為在人群中多看了你一眼 04 4...

使用CSS實現無滾動條滾動

我們都知道,擼頁面的時候當我們的內容超出了我們的div,往往會出現滾動條,影響美觀。接下來小萌介紹幾種簡單的方法,但是也不是完美的解決問題了,各求所需吧 在webkit核心的瀏覽器裡可以定義滾動條樣式。在css初始處定義 1 webkit scrollbar 不過目前本方法只在webkit核心瀏覽器...