日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

html5音乐和歌词同步,HTML5实现歌词同步

發布時間:2023/12/29 HTML 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html5音乐和歌词同步,HTML5实现歌词同步 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

開篇

HTML5的最強大之處莫過于對媒體文件的處理,如利用一個簡單的vedio標簽就可以實現視頻播放。類似地,在HTML5中也有對應的處理音頻文件的標簽,那就是audio標簽。

audio標簽

實現一個audio標簽非常簡單,對應的html代碼如下:

src="music/我在人民廣場吃炸雞.mp3"

autoplay controls>

上述代碼不需要一行js腳本就能實現音樂播放。其中有三個常用的屬性,分別為:音頻源文件,是否自動播放以及是否顯示播放器控件。由于沒有任何ui的展現,audio標簽在chrome的默認風格如下圖:

可以看出,一個基本的播放器還包括了顯示當前時間,播放,暫停,快進快退等功能。這些功能都決定了如何很好的實現歌詞同步(后續介紹)。

既然這么容易就就能播放音樂,那作為一項前端的技術,audio標簽在各個瀏覽器中的兼容性又是怎樣的呢?

Browser Compatibility

可以看出,各大瀏覽器對audio標簽基本功能都支持,只是在細微的特性上表現不一,但是這些基本的功能已經足已做出一個好的播放器。

歌詞

一般標準的lyric文件是由[時間]內容的tag標簽組成,如下圖:

為了更精確的展現每個字在每句歌詞中的時間,又出現了特殊的歌詞形式,如下:

這種歌詞的格式的最好例子就是QRC歌詞文件(如QQ音樂播放器):

為了描述簡單,本文僅以最簡單的lyric格式作為說明,講解如何分離歌詞進行歌詞同步。如下,為一首歌曲的歌詞文件:

現對該歌詞文件作一下處理:

1.以行為單位拆分每一句歌詞

2.將沒句歌詞的時間tag和內容分離

3.將時間轉換為分鐘

轉換過程較為簡單,只需一個簡單的正則匹配,過程如下:

分離出來的[時間,內容]可以與audio當前的播放時間進行對比,若需要顯示對應的歌詞則將該行高亮,同時每次更新對應DOM節點的top則可在視覺上達到滾動效果。

制作歌詞ui。

1.定義一個現實歌詞的區域,添加audio控件

2.添加背景圖片,制作標題邊框

3.添加歌詞

到此,歌詞同步以及ui繪制全部完畢。

總結

以上是生活随笔為你收集整理的html5音乐和歌词同步,HTML5实现歌词同步的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。