先給大家介紹下HTML5中的新元素標(biāo)簽
src:音頻文件路徑。
autobuffer:設(shè)置是否在頁(yè)面加載時(shí)自動(dòng)緩沖音頻。
autoplay:設(shè)置音頻是否自動(dòng)播放。
loop:設(shè)置音頻是否要循環(huán)播放。
controls:屬性供添加播放、暫停和音量控件。
由于html5的流行,現(xiàn)在移動(dòng)端大多數(shù)的需求都可以使用audio來(lái)播放音頻,但您可能只是需要很簡(jiǎn)單的播放/停止效果,但不同的瀏覽器上的audio樣式卻不盡人意,所以我簡(jiǎn)單的把它進(jìn)行了封裝,效果如下:
作為技術(shù)實(shí)現(xiàn),它的原理比較簡(jiǎn)單,就是把原生的audio隱藏,然后用div來(lái)顯示播放器的效果,然后調(diào)用它的click事件來(lái)觸發(fā)play和stop,然后是時(shí)長(zhǎng)duration,這個(gè)值有時(shí)能夠獲取,有時(shí)不行,比較坑,所以建議在audio標(biāo)簽上自定義duration屬性存放時(shí)長(zhǎng),這時(shí),如果組件獲取不到時(shí)會(huì)來(lái)取這個(gè)值。
代碼如下:
this.settings.target.on('loadedmetadata', function() {
_this.duration = _this.audio.duration;
if (_this.duration != "Infinity") {
_this.durationContent.html(Math.floor(_this.duration) + 's');
} else {
var attr = $(_this.settings.target).attr('duration');
if(attr){
_this.durationContent.html($(_this.settings.target).attr('duration')+"s");
}else{
_this.durationContent.html('');
}
}
});
以上內(nèi)容給大家介紹了Html5 audio標(biāo)簽樣式的修改 ,希望對(duì)大家有所幫助。