2011-11-29 10 views
1

당신이 도울 수 있기를 바랍니다.Windows Media Player JavaScript 컨트롤 - 여러 플레이어 문제

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> 

한 번에 여러 플레이어가 화면에 표시 될 수 있습니다. 이러한 모든 미디어 플레이어의 재생을 중지하는 자바 스크립트 조각을 만들어야합니다. 내 코드는 현재 다음과 같습니다 :이 코드는 성공적으로 다른 사람을 처음 WMP 개체의 재생을 중지하지만,하지 않습니다

<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> 

. 그러나 stopMedia에 경고 ('')를 입력하면 여러 번 호출됩니다 (즉, 페이지의 각 WMP에 한 번). 하지만 어떤 이유로 다른 객체를 제어하지 못합니다.

도와 주시겠습니까?

감사합니다.

사이먼.

+0

같은 문제가 있습니다 – MilkyWayJoe

+0

@MilkyWayJoe, 지연에 대해 사과드립니다. 메시지를 놓치 셨습니다. 결국, 나는 한 장의 미디어 플레이어를 페이지에두고 대신 각 미디어에 대해 "재생"및 "중지"버튼을 갖기로 결정했습니다. 이것은 훨씬 효과적이었고 아마도 훨씬 더 효율적인 자원 일 것입니다. – SimonGoldstone

+0

아직 도움이되는지 또는 지금 당신과 관련이 있는지 여부는 모르겠지만 [이 질문] (http://stackoverflow.com/questions/10436396/embedded-player-does-not-work)을보십시오. -in-remote-browser/10437201 # 10437201). 다수의 플레이어에게 적용될 수 있습니다. – MilkyWayJoe

답변

1

{{{stopMedia}}} 함수를 다시 작성하려고 했습니까?

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

잘 작동하는지 모르겠지만 사용해보십시오.

+0

안녕하세요 @poweMicha, 답변이 너무 오래 걸려서 죄송합니다. 답변을 놓쳤습니다. 결국에는 여러 개의 Media Player 개체를 사용하지 않고 하나만 사용하고 몇 개의 재생 및 정지 단추를 대신 사용하기로 결정했습니다. 각 단추는 단일 플레이어에게 명령을 보냅니다. 이것은 훨씬 더 나은 구현이었습니다. 그러나 당신의 제안에 감사드립니다. – SimonGoldstone