javascript - 视频停止或完成播放时 Google SWFObject javascript 检测

标签 javascript swfobject

大家好,

这是我在 stackoverflow 上发表的第一篇文章,我以前总是坐在后面看看这里发生了什么,从未做出过贡献,但现在我终于有机会了..

我的问题是我有一个 swf 文件,我正在使用 SWFObject 在我的 html 页面上播放它,现在我想实现一个 javascript 方法,该方法在视频完全播放或停止时触发。

这是我的代码

<html><head>
  <title>PENSIONS BOOST</title>




<script type="text/javascript" src="https://aimhighermarketing.s3.amazonaws.com/videocontrollers/swfobject.js"></script>
</head><body>
 <div id="player" align="center">
  <script type="text/javascript">
var so = new SWFObject('https://aimhighermarketing.s3.amazonaws.com/videocontrollers/player.swf','mp1','640','480','10');
so.addParam('allowscriptaccess','always');
so.addParam('allowfullscreen','true');
so.addVariable('frontcolor','FFFFFF');
so.addVariable('lightcolor','FFFFFF');
so.addVariable('screencolor','FFFFFF');
so.addParam('flashvars','&file=HTTP://<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a4d7cbc7cd93979295e4d7cbc7cdc5c8cac1d0d3cbd6cfc6cddec6d1cdc8c0c1d68ac7cbc9" rel="noreferrer noopener nofollow">[email protected]</a>/videos/pbsalesvideov2.mp4&&controlbar=none&autostart=true');

so.write('player');</script>
</div>
</body>
</html>

,非常感谢任何形式的帮助.. 请帮忙..

谢谢

最佳答案

很乐意为您提供帮助,但不幸的是您错过了非常重要的信息。 SWFObject 只是一个将对象标签安全地放置在用户浏览器上的工具。还记得那些日子您必须单击 OBJECT 标签才能激活它吗?嗯,SWFObject 解决了这个问题...以及更多。

我们需要知道您使用的是哪种视频播放器? Flash 实际上是将事件触发到 JavaScript,这就是您要监听的内容。

其中最受欢迎的通常是 JWPlayer 或 Flowplayer。

如果您能让我们知道它是什么,或者您使用的是哪种 Flash 播放器,我很乐意为您做一些快速研究。


没关系,我刚刚访问了您的 SWF 文件,发现它是 JW Player 4。

以下是监听事件变化的 JS 代码:

var player;
function playerReady(object) {
  player = document.getElementById(object.id);
    player.addModelListener("state","playerStateChanged");
}
function playerStateChanged(obj) {
    if (obj.newstate == 'COMPLETED') {
        // Your video has finished playing
    } else if (obj.oldstate == 'IDLE' AND obj.newstate == 'PLAYING') {
        // Your video started to play. Now, this is not fully accurate. IDLE can also mean they pressed STOP and sat there.
    }
}

在所有现实中,您应该有一个“startedVideo = false;”并在第一次播放时将其更改为 true。然后您就可以知道它是什么时候第一次开始播放的。

尽管 JWPlayer 已达到版本 5,他们仍然有完整的在线 JS API 文档: JWPlayer 4 JavaScript API

关于javascript - 视频停止或完成播放时 Google SWFObject javascript 检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11475730/

相关文章:

javascript - Three.js 使用图像主色而不是图像本身

javascript - 使用 SWFObject 进行 Flash 检测

javascript - swfobject.embedSWF 在 iOS 中不工作

javascript - Youtube API - 如何使用自定义控件打开/关闭字幕、更改语言?

javascript - 外部接口(interface)和 swfobject.js 问题

javascript - 如何在 ajax 响应后填充 radio div?

javascript - 让 HTML 加载所有资源和脚本

swfobject - 如何自定义使用 SWFobject 实现的播放器?

javascript - 如何为我附加的 div 定义方法和属性?

javascript - 将 Node 请求或 axios 与流一起使用来下载和解压缩文件未按预期处理背压?