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需刷新才能执行]

(0)

相关推荐

  • 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; }

  • Android MediaPlayer实现音乐播放器实例代码

    Android MediaPlayer实现音乐播放器 1.布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height=&qu

  • android音乐播放器监听电话状态实现代码

    如下代码是监听电话的状态,代码简单不做介绍直接看代码: 复制代码 代码如下: private boolean mResumeAfterCall = false; private PhoneStateListener mPhoneStateListener = new PhoneStateListener() {  @Override  public void onCallStateChanged(int state, String incomingNumber) {   if (state ==

  • Android编程实现闹钟的方法详解

    本文实例讲述了Android编程实现闹钟的方法.分享给大家供大家参考,具体如下: 在Android中,有一个闹钟的类,AlarmManager类,我们可以通过其来对系统内的通知进行操作! 本文用到了Service和Broadcast两个后台管理,在处理时,曾出现过很多问题,但经过半天的努力,终于解决了! 首先是Main.xml文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns

  • Android播放音乐案例分享

    本文实例为大家分享了Android播放音乐案例的具体实现代码,供大家参考,具体内容如下 效果: 分析: 和上一篇文章的结构是一样的,只不过我们需要在这里里面加上播放音乐的一些操作: 其实也就是调用系统的播放音乐的API而已,写在服务里面就好, //媒体播放器 private MediaPlayer player; public void onCreate() { File file=new File(Environment.getExternalStorageDirectory(),"a.mp3

  • Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记

    继续上一篇,针对Bootstrap Metronic菜单栏整理的笔记分享给大家,供大家参考,具体内容如下 1.简介 1)  .环境配置 2)  .提取页面 3).动态生成菜单(无限级别树) 2.系统环境配置  项目需要程序数据支撑,这里选择MVC5.0+EF6.0[SQLSERVER](不对MVC架构和SQLServer做出解读)  运行环境:VS2013+MVC5.0+EF6.1+SQLServer2012  解决方案名称:AppSolution 项目名称:App.Web(UI层)与App.M

  • 如何建立一个 XML 的开发环境

    学习 XML 的最佳途经是从简单的开发入手,大胆实践,循序渐进.XML 的妙处只有在开发过程中才能深入体会,离开了开发是学不好 XML 的.因此学习 XML 首先应该建立一个 XML 的开发环境.我给大家介绍一下怎样建立一个基于 Java 的 XML 开发环境.因为我现在没办法用到 Linux,所以所有的例子都是在 Windows 上做的.但是这里介绍的所有的软件在 Linux 和 Windows 上都是可以用的,用法也大同小异.而且除了 Sun 的 JRE 以外都是 open source 软

  • 修复ShopNC使用QQ 互联时提示100010 错误

    QQ 互联不允许 URL 有 Hash 存在,而 ShopNC 默认下是 ?act=toqq&op=g 这样的链接回调的,所以会导致设置失败,或者 100010 错误. 1. 建立 /shop/api_qq.php 文件 2. 修改 /shop/api/qq/comm/config.php $_SESSION["callback"] = SHOP_SITE_URL."/api_qq.php"; 3. QQ 互联填写 http://域名/shop/api_qq

  • 类似微信说话功能的录音处理代码分享

    复制代码 代码如下: package com.example.testaudio; import java.io.File; import android.app.Activity;import android.media.MediaPlayer;import android.media.MediaPlayer.OnCompletionListener;import android.media.MediaRecorder;import android.os.Bundle;import andro

  • 我也有微信朋友圈了 Android实现

    本文实例分享了一个简单的朋友圈程序,包含了朋友圈的列表实现,视频的录制.预览与上传,图片可选择拍照,供大家参考,具体内容如下 FriendsListActivity  代码如下 public class FriendsListActivity extends BaseActivity implements OnRefreshListener<ListView>, PostListener { private InteractionAdapter mAdapter; private PullTo

随机推荐