1

あなたが助けてくれることを願っています。

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 ごとに 1 回)。しかし、何らかの理由で、他のオブジェクトを制御できなくなります。

手伝ってくれますか?

ありがとう、

サイモン。

4

1 に答える 1

1

{{{stopMedia}}} 関数を書き直そうとしましたか?

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

これがうまくいくかどうかはわかりませんが、試してみてください!

于 2012-01-26T13:55:29.670 に答える