首頁 >web前端 >H5教程 >音樂播放器的製作實例(html5)

音樂播放器的製作實例(html5)

PHP中文网
PHP中文网原創
2017-06-20 14:00:003765瀏覽

相關技能

  • HTML5+CSS3(實作頁面佈局與動態效果)

  • Iconfont (使用向量圖示庫新增播放器相關圖示)

  • LESS (動態CSS編寫)

  • jQuery(快速編寫js腳本)

  • gulp+webpack(自動化建置工具,實作LESS,CSS,JS等編譯和壓縮程式碼)

實現的功能

  • 播放暫停(點擊切換播放狀態)

  • 下一曲(切換下一首)

  • 隨機播放(目前歌曲播放完自動播放下一曲)

  • 單曲循環(點擊隨機播放圖示可切換成單曲循環)

  • 音量調整(滑鼠移入滑動設定音量大小)

  • 歌曲進度列(可點擊切換進度直接跳,也可以點擊小圓點拖曳切換進度)

  • 即時歌詞(點擊詞,切換歌詞介面,根據即時進度自動捲動歌詞)

  • 喜歡(點擊新增了一個active效果)

  • 分享(可以直接分享到新浪微博)

audio標籤使用

  • autoplay 自動播放

  • loop 循環播放

  • #volume
 音量設定

#currentTime

 目前播放位置

######## ##duration### 音訊的長度###############pause### 暫停###############play### 播放# ##############ended### 返回音訊是否已結束#############播放和暫停代碼###
_Music.prototype.playMusic = function(){var _this = this;this.play.on('click', function(){if (_this.audio.paused) {
            _this.audio.play();
            $(this).html('');
        } else {
            _this.audio.pause();
            $(this).html('')
        }
    });
}
###音樂進度條碼###
_Music.prototype.volumeDrag = function(){var _this = this;this.btn.on('mousedown', function(){
        _this.clicking = true;
        _this.audio.pause();
    })this.btn.on('mouseup', function(){
        _this.clicking = false;
        _this.audio.play();
    })this.progress.on('mousemove click', function(e){if(_this.clicking || e.type === 'click'){var len = $(this).width(),
                left = e.pageX - $(this).offset().left,
                volume = left / len;if(volume <= 1 || volume >= 0){
                _this.audio.currentTime =  volume * _this.audio.duration;
                _this.progressLine.css(&#39;width&#39;, volume *100 +&#39;%&#39;);
            }
        }
    });
}
###歌詞添加程式碼###
_Music.prototype.readyLyric = function(lyric){this.lyricBox.empty();var lyricLength = 0;var html = &#39;<div class="lyric-ani" data-height="20">&#39;;
    lyric.forEach(function(element,index) {var ele = element[1] === undefined ? &#39;^_^歌词错误^_^&#39; :  element[1];
        html += &#39;<p class="lyric-line" data-id="&#39;+index+&#39;" data-time="&#39; + element[0] + &#39;"> &#39; +  ele + &#39; </p>&#39;;
        lyricLength++;
    });
    html += &#39;</div>&#39;;this.lyricBox.append(html);this.onTimeUpdate(lyricLength);
}
###程式碼還有很多就不一一添加了,覺得還行的話可以點下喜歡(也可以在我的GitHub給個Star),你的喜歡和Star是我繼續創作的動力,非常感謝! ! !源碼加群###

以上是音樂播放器的製作實例(html5)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn