Контроль JavaScript проигрывателя Windows Media - проблемы с несколькими проигрывателями - PullRequest
1 голос
/ 29 ноября 2011

надеюсь, что вы можете помочь.

В моем приложении 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 на странице).Но по какой-то причине он просто не будет контролировать другие объекты.

Вы можете помочь?

Спасибо,

Симон.

1 Ответ

1 голос
/ 26 января 2012

Вы пытались переписать функцию {{{stopMedia}}}?

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

Я не уверен, что это работает, но попробуйте!

...