javascript - 从嵌入式播放器捕获 SendPlayStateChangeEvents

标签 javascript vb.net media-player

我正在使用以下脚本嵌入媒体播放器:

<script type="text/javascript">
        document.write('<OBJECT id="Player"');
        document.write(' classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6"');
        document.write(' width=210 height=60>');
        document.write(' <PARAM name="Volume" value="100">');
        document.write(' <PARAM NAME="SendPlayStateChangeEvents" VALUE="True">');
        document.write(' <PARAM name="uiMode" value="full"></OBJECT>');
</script>

例如,当我停止播放器时,我试图捕获“SendPlayStateChangeEvents”:

<script type="text/javascript">
    function getPlayState(){
        var getit = document.getElementById("Player");
        getit.settings.volume = 100;
        alert(getit.PlayState); 
    }
</script>

“getPlayState() 函数不起作用...

如何使用 JavaScript 监控 PlayState?

(我使用的是 vs web dev 2010、windows 7、vb.net)

最佳答案

我终于明白了...

嵌入正确:

  <script type="text/javascript">
        document.write('<OBJECT id="Player"');
        document.write(' classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6"');
        document.write(' width=210 height=60>');
        document.write(' <PARAM name="Volume" value="100">');
        document.write(' <PARAM NAME="SendPlayStateChangeEvents" VALUE="1">');
        document.write(' <PARAM name="uiMode" value="full"></OBJECT>');
    </script>

为了监视 SendPlayStateChangeEvents,您需要使用 setInterval(function() 在脚本中设置计时器。

   <script type="text/javascript">
       function showPlayer() {
           $('a.play').on("click", function (event) {
               var t = event.clientY;
               var l = event.clientX + 200;
               $(Player).css("position", "fixed").css("top", t + "px").css("left", l + "px");
               $(Player).show();
               myVar = setInterval(function () { getPlayerStatus() }, 2000);
           })
       }
    </script>

然后计时器将每两秒检查一次事件更改。在这种情况下,它会检查“停止”或“就绪”,然后停止计时器。

<script type="text/javascript">
    function getPlayerStatus() {
        var s = Player.PlayState;
        if (s == 1 || s == 10) {
            $(Player).hide();
            setTimeout(myStopFunction(), 500);
        };
    }
    function myStopFunction() {
        clearInterval(myVar);
    }
</script>

希望这些信息对某人有帮助......

关于javascript - 从嵌入式播放器捕获 SendPlayStateChangeEvents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22286416/

相关文章:

javascript - 如何获取在 span 中使用 javascript 创建的产品标签的值并将这些值传递给 Controller ​​?

javascript - 我可以自行访问模块导出实例吗?

vb.net - 远程处理 : No answer from server but still works right after

android - 无法创建 MediaPlayer,音板错误

javascript - 如何根据 fabricjs 中的宽度按比例调整 Canvas 中的图像大小?

javascript - `Fetch` API 被覆盖。如何访问原始功能?

vb.net - 为什么我的函数不符合 CLS?

c# - 将整数格式化为八进制

使用线程的 Android 媒体录制

audio - 带有音频和视频过滤器的 ffplay/ffmpeg 设置表