是这样的,我做个网页需要调用windows media player 下面这个object标签我试过了 可以全兼容所有主流浏览器。。
问题是我想用js控制它 因为它的宽高都为0嘛 隐藏的。。。在win7上完全可以控制。但在XP上 浏览器左下角却出现"已完成,但网页上有错误" 意思是XP下JS控制出现错误 XP的ie6 ie8都试过了 不行. 但WIN7中所有浏览器都能正常播放
下面是调用wmplayer播放器的html代码,js的控制代码也在下面
<OBJECT ID="ObjNRadioPlayer" name="ObjNRadioPlayer" HEIGHT="0" WIDTH="0" type="application/x-ms-wmp" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
<PARAM NAME="AutoStart" VALUE="false" />
<PARAM NAME="Balance" VALUE="0" />
<PARAM NAME="enabled" VALUE="true" />
<PARAM NAME="EnableContextMenu" VALUE="false" />
<PARAM NAME="url" VALUE="mms://10.10.8.73/NRadio" />
<PARAM NAME="PlayCount" VALUE="1" />
<PARAM NAME="rate" VALUE="1" />
<PARAM NAME="currentPosition" VALUE="0" />
<PARAM NAME="currentMarker" VALUE="0" />
<PARAM NAME="invokeURLs" VALUE="false" />
<PARAM NAME="baseURL" VALUE="" />
<PARAM NAME="stretchToFit" VALUE="1" />
<PARAM NAME="volume" VALUE="50" />
<PARAM NAME="mute" VALUE="false" />
<PARAM NAME="uiMode" VALUE="mini" />
<PARAM NAME="windowlessVideo" VALUE="0" />
<PARAM NAME="fullScreen" VALUE="false" />
<PARAM NAME="enableErrorDialogs" VALUE="false" />
<embed id="EmbNRadioPlayer" type="application/x-ms-wmp" src="mms://10.10.8.73/NRadio" width="0" height="0" autoStart="false"></embed>
</OBJECT>
以下是JS代码:(基于jQuery的)
var NRadioControl; //定义这个变量 意思是将播放器传给它
//播放器代控制代码
//调用自带的windows media player播放器
//在html代码中 是由<object>标签嵌套<embed>标签组合而成 是由于不同浏览器只认其中一个
//利用navigator.userAgent获得浏览器标识
//经过测试发现 浏览器标识中包含有SLCC2字样的 都只认<object>标签
//而其他不包含SLCC2字样的浏览器都只认<embed>标签或者两者都认(两者都认的也只会显示一个)
//对播放器控制 需要判断navigator.userAgent中是否包含有SLCC2 如果包含 则控制object 如果不包含 则控制embed
if(-1!=navigator.userAgent.indexOf("SLCC2"))
{
NRadioControl=document.getElementById("ObjNRadioPlayer");
}
else
{
NRadioControl=document.getElementById("EmbNRadioPlayer");
}
//以下是播放、加减声音、静音按钮的单击事件
//播放按钮单击事件
$("#NRadioControlPlay").click(function(){
//playState有多种情况:1=停止,2=暂停,3=播放,6=正在缓冲,9=正在连接,10=准备就绪
//利用以上几种情况控制浏览器播放或停止
if(NRadioControl.playState==3)
{
NRadioControl.controls.stop();
}
else
{
//其它情况,则播放
NRadioControl.controls.play(); //播放代码
}
});
//加音量单击事件
$("#ControlVolumeAdd").click(function(){
NRadioControl.settings.volume+=5; //控制音量 +5%
});
//减音量单击事件
$("#ControlVolumeReduce").click(function(){
NRadioControl.settings.volume-=5; //控制音量 -5%
});
//静音或取消静音单击事件
$("#ControlVolumeMute").click(function(){
//NRadioControl.settings.mute 值为true时 则为静音 反之 则有声音
if(NRadioControl.settings.mute==true)
{
NRadioControl.settings.mute=false; //取消静音
}
else
{
NRadioControl.settings.mute=true; //静音
}
});
上面的写法正确吗??为什么win7下完美运行 而在xp下面却怎么也不能控制..是不是object中标签的type或者CLASSID属性的问题??