JavaScript實(shí)現(xiàn)帶播放列表的音樂播放器實(shí)例分享
更新時(shí)間:2016年03月07日 17:05:50 作者:天天
這篇文章主要介紹了JavaScript實(shí)現(xiàn)帶播放列表的音樂播放器實(shí)例分享,包括對(duì)播放完歌單之后沒有將要播放的歌曲的提示功能,需要的朋友可以參考下
代碼較最基礎(chǔ)的播放器實(shí)現(xiàn)增加了playlist,使用MakeList實(shí)現(xiàn)多首播放,有需要的可以直接使用:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Page</title>
</head>
<body style="font-family:Verdana; font-size:12px">
<script>
/*************************************************************
LovelyLife Player V1.0
Edited By LovelyLife
At 2006-09-16
All rights reservered
Code Start
Modify by http://www.tt419.cn/
*************************************************************/
var playid = "LovelyLifePlayer"
var status = "status"
var curId,arrPL,selected
var isStop,isLoop
arrPL = new Array() //播放器列表
cur = 0
curId = 0
isStop = false
selected = 0
isLoop = true
function songObj(Id,url, name){
this.Id = Id
this.url = url
this.name = name
}
function playAndpauseIt(){
if(document.getElementById(status).innerText == '暫停'){
document.getElementById(playid).controls.pause()
document.getElementById(status).innerHTML ='播放'
}
else{ document.getElementById(status).innerText = '暫停'
document.getElementById(playid).controls.play()}
}
function stopIt(){
isStop = true
document.getElementById(status).innerHTML ='播放'
document.getElementById(playid).controls.stop()
}
function showTimer(){
var cp=document.getElementById(playid).controls.currentPosition
var cps=document.getElementById(playid).controls.currentPositionString
var dur=document.getElementById(playid).currentMedia.duration;
var durs=document.getElementById(playid).currentMedia.durationString;
var s = document.getElementById(playid).playState
var o = document.getElementById(playid).openState
if( s==2 || s==3)
document.getElementById('pos').innerText = " " + cps + "/" + durs + " "
else
document.getElementById('pos').innerText = " 00:00/" + durs + " "
if( s == 1 ){
if(isLoop && (curId > (arrPL.length - 1))){
curId = 0
return 0
}
clearIt()
if(curId<0 || curId>arrPL.length){
alert("當(dāng)前沒有歌曲!,請(qǐng)查看播放列表!")
return false
}
nxtPlay()
}
if( s == 10 && arrPL.length >0 )
nxtPlay()
}
function nxtPlay(){
isStop = true
if(curId > arrPL.length - 1){
document.getElementById("songName").innerText = "沒有歌曲了,請(qǐng)選擇上一曲!"
document.getElementById(playid).URL = "NULL"
return false
}
curId++
clearIt()
setIt(curId)
PlayIt(curId)
}
function prePlay(){
isStop = true
if(curId<0){
document.getElementById("songName").innerText = "沒有歌曲了,請(qǐng)選擇下一曲!"
document.getElementById(playid).URL = "NULL"
return false
}
curId--
clearIt()
setIt(curId)
PlayIt(curId)
}
function PlayIt(cid){
if(curId<0 || curId>arrPL.length -1){
document.getElementById("songName").innerText = "當(dāng)前沒有歌曲!,請(qǐng)查看播放列表!"
return false
}
url = arrPL[cid].url;
curId = cid
if(url == "None"){
document.getElementById("songName").innerText = "加載歌曲未找到!播放下一曲!"
nxtPlay()
return false
}
document.getElementById(playid).URL = url
document.getElementById("songName").innerText = arrPL[cid].name
}
function clearIt(){
if((arrPL.length - 1 <0) || selected < 0 || selected > arrPL.length){
return false
}
}
function setIt(tid){
if(tid<0 || tid>arrPL.length-1){
document.getElementById("songName").innerText = "當(dāng)前沒有歌曲!,請(qǐng)查看播放列表!"
return false
}
}
function InitPlay(songName,url,auto){
var strTemp = "<object classid=\"CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6\""
strTemp += " type=\"application/x-oleobject\" width=\"0\" height=\"0\" id=" + playid
strTemp += " style=\"position:relative; left:0px; top:0px; width:0px; height:0px;\">\n"
strTemp += " <param name=\"autoStart\" value=\""+auto+"\">\n"
strTemp += " <param name=\"balance\" value=\"0\">\n"
strTemp += " <param name=\"currentPosition\" value=\"0\">\n"
strTemp += " <param name=\"currentMarker\" value=\"0\">\n"
strTemp += " <param name=\"enableContextMenu\" value=\"0\">\n"
strTemp += " <param name=\"enableErrorDialogs\" value=\"0\">\n"
strTemp += " <param name=\"enabled\" value=\"-1\">\n"
strTemp += " <param name=\"fullScreen\" value=\"0\">\n"
strTemp += " <param name=\"invokeURLs\" value=\"0\">\n"
strTemp += " <param name=\"mute\" value=\"0\">\n"
strTemp += " <param name=\"playCount\" value=\"1\">\n"
strTemp += " <param name=\"rate\" value=\"1\">\n"
strTemp += " <param name=\"uiMode\" value=\"none\">\n"
strTemp += " <param name=\"volume\" value=\"100\">\n"
strTemp += " <param name=\"URL\" value=\"" + url + "\">\n"
strTemp += "</object>\n<font class=HighLight style=\"background-color: #EEE;padding: 8px;height:30px;width:100%\">"
strTemp += "<b>點(diǎn)播的歌曲: <marquee width=30% speed=3><font color=red id=songName>" + songName + "</font></marquee>"
strTemp += " [<font id=pos></font>]"
strTemp += " [<font onclick=playAndpauseIt() style='cursor:hand;' id=" + status + ">播放</font>]"
strTemp += "[<font onclick=stopIt() style='cursor:hand;'>停止</font>]"
if((arrPL.length - 2) >= 0){
strTemp += "[<font onclick=prePlay() style='cursor:hand;'>上曲</font>]"
strTemp += "[<font onclick=nxtPlay() style='cursor:hand;'>下曲</font>]"
}
strTemp += " </b>"
document.getElementById('player').innerHTML = strTemp
temptimer=setInterval('showTimer()',1000);
}
function playX(cur){
PlayIt(cur)
clearIt()
setIt(cur)
curId = cur
selected = cur
}
function MakeList(Id,Url,Name){
arrPL[cur] = new songObj(Id,Url, Name)
cur++
}
function loopIt(){
if(isLoop){
document.getElementById('sloop').innerText = "不循環(huán)"
isLoop = false
}else{
document.getElementById('sloop').innerText = "循環(huán)播放"
isLoop = true
}
}
/* Code End */
window.attachEvent('onload', function(){
InitPlay("女人如煙[詞曲:穆真 演唱:魏佳藝]","http://happy369.com/yy/nrry.mp3", 1);
playAndpauseIt();
})
</script>
<div id=player style="width:70%"></div>
<script>
MakeList(1,"http://happy369.com/yy/nrry.mp3","111");
MakeList(2,"http://www.gxyx.net/sourcefile/0/0/2/2958.wma","222");
MakeList(3,"http://hz.98777.com/rm0402/q/258.rm","333");
MakeList(4,"http://www.gxyx.net/sourcefile/0/0/2/2958.wma","4444");
</script>
</body>
</html>
MakeList參數(shù):共3個(gè)參數(shù),第一個(gè)是ID,第二個(gè)參數(shù)是音樂的URL地址,第三個(gè)參數(shù)是歌曲的名稱。說明都寫在注釋里了,歡迎大家閱讀和參考。
您可能感興趣的文章:
- (jsp/html)網(wǎng)頁上嵌入播放器(常用播放器代碼整理)
- 運(yùn)用js教你輕松制作html音樂播放器
- js實(shí)現(xiàn)的萬能flv網(wǎng)頁播放器代碼
- Js視頻播放器插件Video.js使用方法詳解
- javascript實(shí)現(xiàn)簡(jiǎn)單的html5視頻播放器
- javascript 播放器 控制
- js實(shí)現(xiàn)可兼容IE、FF、Chrome、Opera及Safari的音樂播放器
- 比較炫的圖片播放器 js 焦點(diǎn)效果代碼
- JavaScript實(shí)現(xiàn)簡(jiǎn)單音樂播放器
- JavaScript實(shí)現(xiàn)簡(jiǎn)單的音樂播放器
相關(guān)文章
原生js實(shí)現(xiàn)焦點(diǎn)輪播圖效果
本文主要分享了原生js實(shí)現(xiàn)焦點(diǎn)輪播圖效果的示例代碼,并解析了實(shí)例中的注意點(diǎn)。具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01
JavaScript中數(shù)組去重的辦法總結(jié)
你是否在面試的過程中被考到過給你一個(gè)數(shù)組讓你去掉重復(fù)項(xiàng)呢,下面小編就來總結(jié)一下對(duì)于數(shù)組去重這道簡(jiǎn)單的面試題時(shí),我們可以回答的方法有什么吧2023-06-06
JavaScript實(shí)現(xiàn)搜索聯(lián)想關(guān)鍵字高亮功能
本文將詳解如何利用原生js+css+html實(shí)現(xiàn)的輸入框搜索聯(lián)想的功能,并集搜索關(guān)鍵字高亮效果,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-06-06
JS實(shí)現(xiàn)往下不斷流動(dòng)網(wǎng)頁背景的方法
這篇文章主要介紹了JS實(shí)現(xiàn)往下不斷流動(dòng)網(wǎng)頁背景的方法,實(shí)例分析了遞歸調(diào)用自定義函數(shù)scrollBG實(shí)現(xiàn)動(dòng)態(tài)背景特效的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02

