我的ASP.net MVC3应用程序中有一个屏幕,显示多个WindowsMediaPlayer对象。摘自我的观点:
<object id="audio" width="100%" height="65" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject" name="mediaPlayer">
<param name="URL" value="/QualityAssurance/PlayRecording/<%: Model.CustomerOrder.Id.ToString() %>/<%: System.IO.Path.GetFileName(Model.RecordingFilename) %>"/>
<param name="SendPlayStateChangeEvents" value="true"/>
<param name="AutoStart" value="false"/>
<param name="PlayCount" value="1"/>
<param name="stretchtofit" value="true"/>
<param name="showstatusbar" value="true"/>
<param name="enablepositioncontrols" value="true"/>
<param name="showpositioncontrols" value="true"/>
<param name="enabletracker" value="true"/>
<param name="showcontrols" value="true"/>
<param name="showaudiocontrols" value="true"/>
<param name="enablecontextmenu" value="true"/>
</object>
任何时候屏幕上都可能有几个这样的玩家。我需要创建一个JavaScript来停止播放所有这些媒体播放器。我的代码目前看起来像这样:
<script type="text/javascript" language="javascript">
function stopAllMedia() {
var elements = document.getElementsByTagName("object");
var i = 0;
for (i = 0; i < elements.length; i++) {
stopMedia(document.getElementById(elements[i].id));
}
}
function stopMedia(mediaPlayer) {
var wmp = new Object();
wmp.wmv = mediaPlayer.object;
wmp.wmv.controls.stop();
}
</script>
此代码将成功停止播放第一个WMP对象,但不会播放其他对象。但是,如果我在stopMedia中放置一个警告(''),它会被多次调用(即对于页面上的每个WMP一次)。但由于某种原因,它不会控制其他对象。
你能帮忙吗?
谢谢,
西蒙。
答案 0 :(得分:1)
您是否尝试重写{{{stopMedia}}}函数?
function stopMedia(mediaPlayer) {
mediaPlayer.controls.stop();
}
我不确定这是否有效,但请试一试!