ZiggeoApi 上的上传事件未被触发

Uploaded event on ZiggeoApi not being fired

查看 ZiggeoApi 后 docs 我尝试使用 uploaded 事件:

ZiggeoApi.Events.on "system_ready", ->
      recorder = ZiggeoApi.V2.Recorder.findByElement($('#ziggeo-recorder-embedding')[0])
      recorder.on "verified", (params...) ->
        console.log('uploaded', params...)
      recorder.on "uploaded", (params...) ->
        console.log('uploaded', params...)

在上面的代码中,verified 会触发,但 uploaded 不会。我正在使用处于测试阶段的 API 的 V2,所以我想知道这是否是一个错误。

我只需要视频上传后的视频 ID,这样我就可以参考它以供以后检索。每个事件的 data 是什么的文档有点缺乏,而对于 verified 事件触发时,您实际上并没有得到任何作为参数传入的内容。欢迎任何解决方法!

v2不需要data参数传递token,可以随时直接抓取。

为此,您可以使用如下代码:

recorder.get('video');

另外值得一提的是,一旦开始上传,令牌就已经在 v1 和 v2 中可用,因此您应该能够在需要时获取它们。

编辑 2016/11/18

The JavaScript SDK documentation pages is relatively new, and the Events page shows wrong code sample for v2 at the moment.

  • 这个问题已经解决,Ziggeo 文档显示了正确的示例。

-- 结束编辑--

正确的添加方式是:

recorder.on("uploaded", function() {
  recorder.get('video');
});

添加工作示例,显示已验证、正在上传和已上传的事件

ZiggeoApi.token = "a48e03aee097e23697b165ad6060f32f";

ZiggeoApi.Events.on("system_ready", function() {
  var element = document.getElementById('ziggeo-recorder-embedding');
  var recorder = ZiggeoApi.V2.Recorder.findByElement( element );
  
  recorder.on('verified', function() {
    console.log("video was verified. It's token is:" + recorder.get('video') );
  });
  
  recorder.on('uploading', function() {
    console.log("video is uploading. It's token is:" + recorder.get('video') );
  });
  
  //Requires v1-r18 or higher to work
  recorder.on('uploaded', function() {
    console.log("video is uploaded. It's token is:" + recorder.get('video') );
  });
});
<html>
  <head>
    <link rel="stylesheet" href="https://assets-cdn.ziggeo.com/v1-r18/ziggeo.css" />
    <script src="https://assets-cdn.ziggeo.com/v1-r18/ziggeo.js"></script>

  </head>
  <body>
    <ziggeorecorder
      ziggeo-width="640"
      ziggeo-height="480"
      id="ziggeo-recorder-embedding">
    </ziggeorecorder>
  </body>
</html>

  • 该代码段可能不起作用(取决于浏览器及其安全设置),但是在本地主机或某些服务器上使用相同的代码会起作用。

  • 还值得一提的是 uploaded 事件确实在此时似乎不起作用 - 所以这是一个错误。

如果它在文档中,它被认为是应该工作(并且正在工作)的东西,所以如果不是,那肯定是某种错误。

总而言之,您确实发现了 uploaded 事件的错误,但是您可以使用 uploading 事件来代替:

recorder.on("uploading", function() {
  recorder.get('video');
});

编辑 2016/10/28

uploaded 事件实际上是在 r18 中引入的,因此它应该在 r18、19 及更高版本中有效。

然而,它不适用于稳定的标签,因为它当前指向 v1-r16,在此期间它不可用。

  • 我已经更新了上面的示例脚本,文档页面上的代码也将很快得到修复。