急晕咯!怎么实现多个WMA音乐URL的检测?

时间:2022-08-06 05:01:18
急晕咯!怎么实现多个WMA音乐URL的检测?

检测是否有效:(注意:是多个URL!)

1、检测是不是音乐文件,

2、检测是否有效

从第一个开始检测,只要检测到有效的

就开始将它加到WMP播放器中去进行播放!

有办法吗?

求救了,哪位高手会的,给我答复,我把分都给你

谢谢!

6 个解决方案

#1


这个问题,前几天有人说QQ音乐的,也是多个URL
但是搜不到这帖子了...

#2


帮顶

#3


我 发觉是 SOSO音乐里面是具体你可以去查看SOSO音乐盒的html代码看看 
帮我研究一下,腾讯的URL检测

#4


用 WMP 尝试连接

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<object ID='xwmp' CLASSID='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' type='application/x-oleobject' width='0' height='0' style='position:relative;left:0px; top:0px;width:0px;height:0px;'>      
      <param name='baseURL' value=''> 
       <param name='currentPosition' value='0'>  
       <param name='enableErrorDialogs' value='false'>  
       <param name='invokeURLs' value='false'>  
       <param name='mute' value='false'>  
       <param name='playCount' value='1'>  
       <param name='rate' value='1'>  
       <param name='uiMode' value='invisible'>
</object>
<script type="text/JavaScript">
var xwmp = document.getElementById("xwmp");
var musics = [];
musics.push("http://www.ialvin.cn/music/media/方雨儿 - 汕头之恋.mp3");
musics.push("http://www.52elqf.com/dddsdfasdf2316.wma");
musics.push("http://www.52elqf.com/asdfasdfasdf.wma");
musics.push("http://blog.cmmchina.cn/wma/%E7%88%B1%E6%88%91%E7%9A%84%E4%BA%BA%E5%92%8C%E6%88%91%E7%88%B1%E7%9A%84%E4%BA%BA.wma");
musics.push("http://www.52elqf.com/ddddddddddddddddddddddddddddddd316.wma");
musics.push("http://www.52elqf.com/bbs/UploadFile/2007-2/20072131412792316.wma");
musics.push("http://www.52elqf.com/bbddd92316.wma");
var ms = [];

var _flag_ = false;
function start() {
if (_flag_) return;
if (musics.length < 1) return END();
xwmp.url = musics[0];
xwmp.controls.play();
_flag_ = true;
}
function END() {
// 全部检测完毕
alert(ms.join("\n\n"));
}
window.onload = function() {
start();
};
</script>
<script for="xwmp" event="PlayStateChange(newState)">
if (_flag_ == true) {
switch (newState) {
case 3:
case 6:
_flag_ = false;
var x = musics.shift();
ms.push(x); // 可以播放,加到 ms 中
document.getElementById("v").innerHTML += "<br />" + x;
xwmp.controls.stop();
setTimeout(start, 1000); // 1秒后检测下一首
break;
case 7:
case 8:
        case 10:
_flag_ = false;
var x = musics.shift();
document.getElementById("v2").innerHTML += "<br />" + x;
xwmp.controls.stop();
setTimeout(start, 1000); // 1秒后检测下一首
break;
}
}
</script>
<div id="v">可以播放:</div>
<div id="v2">不可以播放:</div>
</body>
</html>

#5


如果检测URL是有效的那怎么进行播放,我说的是怎么将那个有效的URL加入到播放器中去进行播放(有声音出来)
这个是SOSO音乐网的
<html><head><meta http-equiv=Content-Type content="text/html; charset=gb2312"><title>SOSO音乐盒</title>
<script src="/common/js/popbase_1.2.js"></script>
<script language="javascript">
document.domain = "soso.com";
var _player;
var oMediaPlayer;
var oRealPlayer;
var isReal = false;
var logged = false;
var hasRm = false;
aUrl = ["$1http://stream1.qqmusic.qq.com/12458377.wma"]; 
songId = "941763147";
var defaultUrl = "http://stream1.qqmusic.qq.com/12458377.wma";
var albumName = "";
var a = [];
a[0] = ["越来越爱", "飞轮海"];
var s = {numberAlbums : 0};
var agent = navigator.userAgent.toLowerCase();
var bFirefox = agent.indexOf("firefox") != -1;
var bSafari = agent.indexOf("safari") != -1;
var iTabId = 0;
var bFirefoxSafari = bFirefox || bSafari;
window.onerror = function() {return true;}
</script>

</head>
<body bgcolor=#F6FBFE text=#4C618F link=#4C618F vlink=#4C618F lang="zh">

   
<div style="display:none;">
<object id="oPreloadMediaPlayer" classid=clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6 width=0 height=0>
<param name="Mute" value="true">
<param name="Volume" value="0">
   </object>
   </div>
<script for="oPreloadMediaPlayer" event="PlayStateChange(NewState)" language="JScript">handleEndOfStream_pre(NewState);</script>
<span id="media_player">
<object id="mediaplayer" classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" width=328 height=64>
<param name="autoStart" value="true">
<param name="Url" value="http://stream1.qqmusic.qq.com/12458377.wma">
<param name="ShowPositionControls" value="false">
<param name="playCount" value="1">
<param name="EnableContextMenu" value="false">
<embed src="http://stream1.qqmusic.qq.com/12458377.wma" align="baseline" border="0" width="328" height="64" name="safari_player" type="application/x-mplayer2" transparentatstart="0" showcontrols="1" showaudiocontrols="1" showpositioncontrols="0" showtracker="1" showdisplay="0" showstatusbar="1" showgotobar="0" showcaptioning="0" autosize="0" allowscan="1" animationatstart="0" autostart="1" playcount="0" clicktoplay="0" defaultframe="datawindow" invokeurls="0" enablecontextmenu="1">
</object>
<script language="javascript">
_player = oMediaPlayer = document.getElementById("mediaplayer");
</script>
    </span>
    <script for="mediaplayer" event="Error()" language="JScript">processErrorUrl(false);</script>
    <script for="mediaplayer" event="Buffering(bStart)" language="JScript">handleBuffer(bStart);</script>
    <script for="mediaplayer" event="PlayStateChange(NewState)" language="JScript">handleEndOfStream(NewState);resetLrcScroll();</script>
<span id="real_player" style="width:328px;height:64px;display:none"></span>
</body>
</html>

#6


 <script for="mediaplayer" event="Error()" language="JScript">processErrorUrl(false);</script>
    <script for="mediaplayer" event="Buffering(bStart)" language="JScript">handleBuffer(bStart);</script>
    <script for="mediaplayer" event="PlayStateChange(NewState)" language="JScript">handleEndOfStream(NewState);resetLrcScroll();</script>

这些代码有什么用?可以用来检测什么

#1


这个问题,前几天有人说QQ音乐的,也是多个URL
但是搜不到这帖子了...

#2


帮顶

#3


我 发觉是 SOSO音乐里面是具体你可以去查看SOSO音乐盒的html代码看看 
帮我研究一下,腾讯的URL检测

#4


用 WMP 尝试连接

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<object ID='xwmp' CLASSID='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' type='application/x-oleobject' width='0' height='0' style='position:relative;left:0px; top:0px;width:0px;height:0px;'>      
      <param name='baseURL' value=''> 
       <param name='currentPosition' value='0'>  
       <param name='enableErrorDialogs' value='false'>  
       <param name='invokeURLs' value='false'>  
       <param name='mute' value='false'>  
       <param name='playCount' value='1'>  
       <param name='rate' value='1'>  
       <param name='uiMode' value='invisible'>
</object>
<script type="text/JavaScript">
var xwmp = document.getElementById("xwmp");
var musics = [];
musics.push("http://www.ialvin.cn/music/media/方雨儿 - 汕头之恋.mp3");
musics.push("http://www.52elqf.com/dddsdfasdf2316.wma");
musics.push("http://www.52elqf.com/asdfasdfasdf.wma");
musics.push("http://blog.cmmchina.cn/wma/%E7%88%B1%E6%88%91%E7%9A%84%E4%BA%BA%E5%92%8C%E6%88%91%E7%88%B1%E7%9A%84%E4%BA%BA.wma");
musics.push("http://www.52elqf.com/ddddddddddddddddddddddddddddddd316.wma");
musics.push("http://www.52elqf.com/bbs/UploadFile/2007-2/20072131412792316.wma");
musics.push("http://www.52elqf.com/bbddd92316.wma");
var ms = [];

var _flag_ = false;
function start() {
if (_flag_) return;
if (musics.length < 1) return END();
xwmp.url = musics[0];
xwmp.controls.play();
_flag_ = true;
}
function END() {
// 全部检测完毕
alert(ms.join("\n\n"));
}
window.onload = function() {
start();
};
</script>
<script for="xwmp" event="PlayStateChange(newState)">
if (_flag_ == true) {
switch (newState) {
case 3:
case 6:
_flag_ = false;
var x = musics.shift();
ms.push(x); // 可以播放,加到 ms 中
document.getElementById("v").innerHTML += "<br />" + x;
xwmp.controls.stop();
setTimeout(start, 1000); // 1秒后检测下一首
break;
case 7:
case 8:
        case 10:
_flag_ = false;
var x = musics.shift();
document.getElementById("v2").innerHTML += "<br />" + x;
xwmp.controls.stop();
setTimeout(start, 1000); // 1秒后检测下一首
break;
}
}
</script>
<div id="v">可以播放:</div>
<div id="v2">不可以播放:</div>
</body>
</html>

#5


如果检测URL是有效的那怎么进行播放,我说的是怎么将那个有效的URL加入到播放器中去进行播放(有声音出来)
这个是SOSO音乐网的
<html><head><meta http-equiv=Content-Type content="text/html; charset=gb2312"><title>SOSO音乐盒</title>
<script src="/common/js/popbase_1.2.js"></script>
<script language="javascript">
document.domain = "soso.com";
var _player;
var oMediaPlayer;
var oRealPlayer;
var isReal = false;
var logged = false;
var hasRm = false;
aUrl = ["$1http://stream1.qqmusic.qq.com/12458377.wma"]; 
songId = "941763147";
var defaultUrl = "http://stream1.qqmusic.qq.com/12458377.wma";
var albumName = "";
var a = [];
a[0] = ["越来越爱", "飞轮海"];
var s = {numberAlbums : 0};
var agent = navigator.userAgent.toLowerCase();
var bFirefox = agent.indexOf("firefox") != -1;
var bSafari = agent.indexOf("safari") != -1;
var iTabId = 0;
var bFirefoxSafari = bFirefox || bSafari;
window.onerror = function() {return true;}
</script>

</head>
<body bgcolor=#F6FBFE text=#4C618F link=#4C618F vlink=#4C618F lang="zh">

   
<div style="display:none;">
<object id="oPreloadMediaPlayer" classid=clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6 width=0 height=0>
<param name="Mute" value="true">
<param name="Volume" value="0">
   </object>
   </div>
<script for="oPreloadMediaPlayer" event="PlayStateChange(NewState)" language="JScript">handleEndOfStream_pre(NewState);</script>
<span id="media_player">
<object id="mediaplayer" classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" width=328 height=64>
<param name="autoStart" value="true">
<param name="Url" value="http://stream1.qqmusic.qq.com/12458377.wma">
<param name="ShowPositionControls" value="false">
<param name="playCount" value="1">
<param name="EnableContextMenu" value="false">
<embed src="http://stream1.qqmusic.qq.com/12458377.wma" align="baseline" border="0" width="328" height="64" name="safari_player" type="application/x-mplayer2" transparentatstart="0" showcontrols="1" showaudiocontrols="1" showpositioncontrols="0" showtracker="1" showdisplay="0" showstatusbar="1" showgotobar="0" showcaptioning="0" autosize="0" allowscan="1" animationatstart="0" autostart="1" playcount="0" clicktoplay="0" defaultframe="datawindow" invokeurls="0" enablecontextmenu="1">
</object>
<script language="javascript">
_player = oMediaPlayer = document.getElementById("mediaplayer");
</script>
    </span>
    <script for="mediaplayer" event="Error()" language="JScript">processErrorUrl(false);</script>
    <script for="mediaplayer" event="Buffering(bStart)" language="JScript">handleBuffer(bStart);</script>
    <script for="mediaplayer" event="PlayStateChange(NewState)" language="JScript">handleEndOfStream(NewState);resetLrcScroll();</script>
<span id="real_player" style="width:328px;height:64px;display:none"></span>
</body>
</html>

#6


 <script for="mediaplayer" event="Error()" language="JScript">processErrorUrl(false);</script>
    <script for="mediaplayer" event="Buffering(bStart)" language="JScript">handleBuffer(bStart);</script>
    <script for="mediaplayer" event="PlayStateChange(NewState)" language="JScript">handleEndOfStream(NewState);resetLrcScroll();</script>

这些代码有什么用?可以用来检测什么