Windows Media Player가 설치된 aspx 페이지가 있습니다.aspx 페이지에서 호스팅되는 미디어 플레이어가 SendPlayStateChangeEvents를 보내지 않습니다.
오디오 파일 재생이 끝나면 이벤트를 발생시키는 것으로 가정되지만 그렇지는 않습니다. 페이지에는 플레이어를 제어하는 Silverlight도 포함되어 있습니다. 우리가 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이 여기
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);
}
}
: 여기
나는 이벤트 리스너를 추가 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;
}
몇 달 전이 기능이 잘 작동한다는 것이 이상한 점이지만 지금은 변화된 것처럼 보입니다.
실마리가 있습니까?
링크도 해결 방법을 제공하며, 일부 코멘트가 작동하지 않을 수 있습니다 제안 있지만 "추가 호환성 모드가 작동합니다. " – rbatt