MyHTML Player release v1.1
把下面的代码copy到本地,另存为hta文件使用
特点:自动获取baidu歌曲top500并link
使用ajax技术,自动分页
注意:代码中使用了ADODB.Stream对象,可能被杀毒软件判断为恶意。
My HTML Player - By Hutia
body {
overflow:auto;
font-size:12px;
cursor:default;
padding:3px;
margin:0px;
border-width:0px;
}
#f1 {
display:none;
}
#table01 {
font-size:12px;
background-Color:black;
color:white;
text-align:center;
float:left;
height:300px;
}
#table01 td{
vertical-align:top;
}
#MediaPlayer1 {
width:300px;
height:300px;
}
#playListTitle {
background-Color:#001122;
color:white;
font-size:12px;
font-weight:bold;
width:100%;
height:16px;
padding:2px;
}
#playList {
width:150px;
height:280;
margin:0px;
font-size:12px;
background-Color:black;
color:white;
}
#musicList {
width:260px;
border:buttonface 4px groove;
height:200px;
float:right;
}
#musicListTitle {
font-size:13px;
width:100%;
height:20px;
background-Color:#C5FFC5;
padding:3px;
font-weight:bold;
}
#musicListContent {
height:200px;
}
#musicList .item {
width:100%;
height:20px;
line-height:12px;
padding:0px;
margin:0px;
overflow-y:hidden;
}
#musicList .item a {
color:#773;
text-decoration:none;
width:180px;
height:20px;
line-height:12px;
padding-top:5px;
padding-left:10px;
margin:0px;
position:relative;
overflow:hidden;
text-overflow:ellipsis;
}
#musicListNav {
height:18px;
}
#processBar {
position:absolute;
width:99%;
height:30px;
border:buttonface 2px inset;
z-Index:99;
background-Color:#FFF;
bottom:5px;
left:5px;
padding:5px;
}
.add2ListBtn {
width:18px;
line-height:14px;
text-align:center;
cursor:hand;
font-size:14px;
font-family:Webdings;
}
.add2ListBtn2 {
width:18px;
line-height:14px;
text-align:center;
cursor:hand;
font-size:14px;
}
//****全局变量定义区************
taskState="loadList";
url="http://list.mp3.baidu.com/topso/mp3topsong.html";
taskURLs=new Array();
taskNames=new Array();
pageSize=10;
pageNo=0;
currentTask=pageNo*pageSize;
maxTask=currentTask+pageSize;
windowWidth=740;
windowHeight=400;
//****初始化组件***************
try{
var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
document.write("
加载失败,组件被禁止
");
}
try{
top.moveTo((screen.availWidth-windowWidth)/2,(screen.availHeight-windowHeight)/2);
top.resizeTo(windowWidth,windowHeight);
}catch(e){}
//****过程函数区***************
//---初始化-------
function init(){
MediaPlayer1.AutoRewind=false;
MediaPlayer1.AutoStart=true;
MediaPlayer1.SendPlayStateChangeEvents=true;
MediaPlayer1.attachEvent("PlayStateChange",checkPlayStatus);
initLoadMusic();
}
//####关于baidu音乐获取的代码######
//---初始化下载-----
function initLoadMusic(){
currentTask=pageNo*pageSize-1;
maxTask=currentTask+pageSize;
musicListContent.innerHTML="";
processBar.style.display="";
loadBaiduMusic();
}
//---开始从baidu下载音乐-----
function loadBaiduMusic(){
//如果状态是loadMusic那么从url列表取下载地址
if(taskState=="loadMusic"){
currentTask++;
if(currentTask>maxTask||currentTask>taskURLs.length-1){
//下载完成
try{clearTimeout(vbTimer);}catch(e){}
processBar.style.display="none";
createNavigate();
return(false);
}
if(currentTask>taskURLs.length-1){
currentTask--;
setTimeout(loadBaiduMusic,1000);
return(false);
}
url=taskURLs[currentTask];
}
xmlHttp.open("GET",url,true);
xmlHttp.send();
xmlHttp.onreadystatechange=checkXMLHttpState;
checkXMLHttpState();
}
//----处理下载-----
function checkXMLHttpState(){
if (xmlHttp.readyState==4){
if (xmlHttp.status==200){
if(taskState=="loadList"){
taskState="loadMusic";
//分析下载内容生成歌曲地址列表
analyBaiduList();
currentTask=-1;
}else{
//获得mp3的真实地址
analyBaiduMusic();
}
}
loadBaiduMusic();
}
}
//----分析下载内容生成歌曲地址列表----
function analyBaiduList(){
var strHTML=b2s(xmlHttp.responseBody);
var iStart=strHTML.search(/0){theLink.innerText+="."+(i+1);}
theLink.onclick=musicList_item_click;
theD.insertBefore(theLink);
//添加到列表按钮
theButton=document.createElement("Span");
theButton.className="add2ListBtn";
theButton.innerText="1";
theButton.title="添加到列表";
theButton.onclick=musicList_add2ListBtn_click;
theButton.onmouseover=musicList_item_mouseover;
theButton.onmouseout=musicList_item_mouseout;
theD.insertBefore(theButton);
//上卷按钮
theButton=document.createElement("Span");
theButton.className="add2ListBtn";
theButton.innerText="3";
theButton.title="上卷";
theButton.onclick=musicList_scrollUpBtn_click;
theButton.onmouseover=musicList_item_mouseover;
theButton.onmouseout=musicList_item_mouseout;
theD.insertBefore(theButton);
//下卷按钮
theButton=document.createElement("Span");
theButton.className="add2ListBtn";
theButton.innerText="4";
theButton.title="下卷";
theButton.onclick=musicList_scrollDownBtn_click;
theButton.onmouseover=musicList_item_mouseover;
theButton.onmouseout=musicList_item_mouseout;
theD.insertBefore(theButton);
//打开新窗口按钮
theButton=document.createElement("Span");
theButton.className="add2ListBtn";
theButton.innerText="2";
theButton.title="打开新窗口";
theButton.onclick=musicList_newWinBtn_click;
theButton.onmouseover=musicList_item_mouseover;
theButton.onmouseout=musicList_item_mouseout;
theD.insertBefore(theButton);
theC.insertBefore(theD);
}
}
//####关于播放器播放音乐的代码######
//----检查播放器状态-------
function checkPlayStatus(oldState,newState){
try{
if(MediaPlayer1.PlayState==0){
MediaPlayer1.detachEvent("PlayStateChange",checkPlayStatus);
MediaPlayer1.stop();
if(playList.options.selectedIndex0?pageNo-4:0;
thePageCount=parseInt(theMax/pageSize)+(theMax%pageSize==0?0:1);
theMax=pageNo+5
All Music
分页:
Tips: 把歌曲拖入播放列表
Tips: 无法播放时点击左右箭头更换音乐地址
Processing...
Play List: |
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]