【问题标题】:Windows Media Player JavaScript control - multiple players problemsWindows Media Player JavaScript 控件 - 多播放器问题
【发布时间】:2011-11-29 17:21:43
【问题描述】:

希望你能帮忙。

我的 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 中放置一个 alert(''),它会被调用多次(即页面上的每个 WMP 调用一次)。但由于某种原因,它不会控制其他对象。

你能帮忙吗?

谢谢,

西蒙。

【问题讨论】:

  • @MilkyWayJoe,抱歉耽搁了 - 错过了您的消息。最后,我决定在页面上放置一个媒体播放器,而只为每条媒体设置“播放”和“停止”按钮。这工作得更好,而且在资源方面也可能更有效。
  • 我不知道它是否仍然有帮助,或者即使它现在对你有用,但看看this question。它可以适应多个玩家

标签: javascript windows-media-player wmp


【解决方案1】:

您是否尝试重写 {{{stopMedia}}} 函数?

function stopMedia(mediaPlayer) {
    mediaPlayer.controls.stop();
}

我不确定这是否有效,但请尝试一下!

【讨论】:

  • 嗨@poweMicha,很抱歉花了这么长时间才回复 - 我错过了你的答案。最后,我决定停止使用几个 Media Player 对象,而只使用一个并有几个播放和停止按钮,每个按钮都向我的单个播放器发送一个命令。这是一个更好的实现。不过谢谢你的建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多