2014-02-20 67 views
0

我有一個aspx頁面,其上有Windows Media Player作爲對象。託管在aspx頁面上的媒體播放器不會SendPlayStateChangeEvents

當它完成播放音頻文件時,它應該引發一個事件,但事實並非如此。 該頁面還包含控制播放器的Silverlight。

在這裏,我添加事件偵聽器:

var slCtl = null; 
var WMP = null; 

function pluginLoaded(sender, args) { 
    slCtl = sender.getHost(); 
    WMP = document.getElementById("wmp"); 
if (WMP.addEventListener) { 
    WMP.addEventListener('playStateChange', sendPlayerStateToSL, false); 
} else if (WMP.attachEvent) { 
    WMP.attachEvent('playStateChange', sendPlayerStateToSL); 
} 
} 

下面我們就針對WMP

<object id="wmp" style="position: absolute; left: 0; top: 0;" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="audio/x-ms-wma" > 
     <param name="SendPlayStateChangeEvents" value="True" /> 
     <param name="AutoStart" value="True" /> 
     <param name="PlayCount" value="1" /> 
     <param name="AutoSize" value="True" /> 
     <param name="uiMode" value="invisible" /> 
    </object> 

我就可以開始播放音頻文件,但是當它完成WMP不會引發一個事件和HTML sendPlayerStateToSL()永遠不會運行。

function sendPlayerStateToSL() { 
     switch (WMP.playState) { 
      case 3: 
       slCtl.Content.mySLapp.WmpStartedPlaying(WMP.playState, document.getElementById("wmp").currentMedia.durationString); 
       break; 
      case 8: 
       if (document.getElementById("wmp").uiMode == "invisible") 
        slCtl.Content.mySLapp.WmpEndedPlaying(WMP.playState); 
       else { 
        document.getElementById("wmp").uiMode = "invisible"; 
        slCtl.Content.mySLapp.SetFocusToKennitala(); 
       } 
       break; 
      default: 
       break; 

     } 

奇怪的是,這在幾個月前工作正常,但現在它就像是有所改變。

有沒有人有線索?

回答

0

把下面的解決了這一問題:)

<meta http-equiv="X-UA-Compatible" content="IE=8" />