js實現(xiàn)簡單音樂播放器
更新時間:2020年06月30日 08:50:13 作者:qq_42221334
這篇文章主要介紹了js實現(xiàn)簡單音樂播放器,可拖動進度條,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了js實現(xiàn)音樂播放器的具體代碼,供大家參考,具體內(nèi)容如下
效果圖:

可播放暫停繼續(xù)播放,進度條可拖動,時間展示,聲音調(diào)節(jié)
完整代碼(直接拿來用)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>audio功能開發(fā)</title>
<style>
* {
margin:0;
padding:0
}
.music-range {
width:350px;
height:10px;
background:#2386e4;
border-radius:5px;
-webkit-appearance:none;
margin:0 auto;
cursor:pointer
}
.music-range::-webkit-slider-thumb {
width:15px;
height:15px;
background:#fff;
border:1px solid #f18900;
cursor:pointer;
border-radius:5px;
-webkit-appearance:none
}
a {
text-align:center
}
</style>
</head>
<body>
<div class="music-all">
<audio class='music-audio' controls>
<source src="http://www.jq22.com/demo/jqueryaudio201903252328/jq22.mp3" type="audio/mpeg">
</audio>
<div>總時間
<span class='music-max'></span>
</div>
<div>時間
<span class='music-cur'></span>
</div>
<input class='music-range' type="range" min=0 max=100 value=0 />
<div>音量<span class="music-voice">1</span></div>
<button class='music-play'>播放</button>
<button class='music-no'>停止</button>
<button class="music-btnd">聲小</button>
<button class="music-btne">聲大</button>
<div class="music-animation"><span class="music-span"></span></div>
<div class="music-list"></div>
</div>
<script src="js/jquery-1.10.2.js"></script>
<script src="js/audio.js" type="text/javascript" charset="utf-8"></script>
<script>
var audios = document.getElementsByClassName("music-audio")[0];
var vol = audios.volume;
audios.controls = false;
$('.music-play').on('click', function () {
audios.play();
var duration = audios.duration;
$('.music-max').html(timeleng(duration));
$(".music-animation").addClass("play-an");
$(".music-range").attr({
'max': duration
});
function timer() {
var t = parseInt(Math.round(audios.currentTime));
$(".music-range").val(t);
$('.music-cur').text(timeleng(t));
t = parseInt(audios.currentTime);
if (t < duration) {
setTimeout(timer, 1000);
} else {
clearTimeout(timer);
}
}
timer();
});
$('.music-no').on('click', function () {
audios.pause();
$(".music-animation").removeClass("play-an");
})
audios.onended = function () {
$(".music-animation").removeClass("play-an")
};
$('.music-btnd').click(function () {
vol = vol > 0 ? (vol * 10 - 1) / 10 : 0;
audios.volume = vol;
console.log(vol)
$(".music-voice").html(vol)
})
$('.music-btne').click(function () {
vol = vol < 1 ? (vol * 10 + 1) / 10 : 1;
audios.volume = vol;
console.log(vol)
$(".music-voice").html(vol)
})
$(".music-range").on('change', function () {
audios.currentTime = this.value;
console.log(this.value)
$(".music-range").val(this.value);
});
function timeleng(time) {
var m = 0,
s = 0,
ms = '00',
ss = '00';
time = Math.floor(time % 3600);
m = Math.floor(time / 60);
s = Math.floor(time % 60);
ss = s < 10 ? '0' + s : s + '';
ms = m < 10 ? '0' + m : m + '';
return ms + ":" + ss;
}
$(".music-qd").on("click", function () {
var nameid = $(".input-text").val();
console.log(nameid)
$.ajax({
type: "get",
dataType: 'jsonp',
success: function (d) {
console.log(d)
},
error: function (d) {
console.log(d);
}
});
})
</script>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
小程序getLocation需要在app.json中聲明permission字段
這篇文章主要介紹了小程序getLocation需要在app.json中聲明permission字段,個別需要獲取用戶地理位置的在開發(fā)者工具調(diào)試時會出現(xiàn)getLocation需要在app.json中聲明permission字段 ,下面我們就一起來解決一下2019-04-04
TypeScript裝飾器與反射元數(shù)據(jù)實例詳解
TypeScript的裝飾器為我們提供了一種強大的工具,可以在運行時改變類的行為,通過理解裝飾器的工作原理,我們可以創(chuàng)造更加強大、靈活且易于維護的應用,這篇文章主要介紹了TypeScript裝飾器與反射元數(shù)據(jù),需要的朋友可以參考下2023-09-09
IE的事件傳遞-event.cancelBubble示例介紹
關(guān)于event.cancelBubble,Bubble就是一個事件可以從子節(jié)點向父節(jié)點傳遞,下面有個不錯的示例,大家可以感受下2014-01-01
JS+canvas畫布實現(xiàn)炫酷的旋轉(zhuǎn)星空效果示例
這篇文章主要介紹了JS+canvas畫布實現(xiàn)炫酷的旋轉(zhuǎn)星空效果,結(jié)合實例形式分析了js結(jié)合HTML5 canvas圖形繪制與數(shù)值計算相關(guān)操作技巧,需要的朋友可以參考下2019-02-02

