查看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不会触发。我正在使用处于beta版的API的V2,所以我想知道这是否是一个错误。

上传视频后,我需要的只是视频ID,因此我可以参考它以供以后检索。缺少每个事件的data的文档,而对于verified,在触发事件时实际上并没有传递任何参数作为参数。任何工作环境都是最欢迎的!

最佳答案

v2不需要data参数传递令牌,因为您可以在任何时候直接获取它。

为此,您将使用如下代码:

recorder.get('video');


同样值得一提的是,一旦开始上载,令牌就已经在v1和v2中都可用了,因此即使在需要时,您也应该能够获取它们。

编辑2016/11/18


  JavaScript SDK文档页面
  比较新,而Events page
  目前显示v2的错误代码示例。



该问题已解决,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>






该代码段可能不起作用(取决于浏览器及其安全设置),但是在localhost或某些服务器上使用相同的代码则可以。
值得一提的是,uploaded事件实际上并未在这一点上起作用-因此,这是一个错误。


如果它在文档中被认为是应该起作用(并且正在起作用),那么如果不是,则肯定是某种错误。

总而言之,您确实发现了一个uploaded事件的错误,但是对于您之后的情况,可以这样使用uploading事件:

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


编辑2016/10/28

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

但是,由于它当前指向v1-r16,在此期间它不可用,因此它不适用于稳定标签。


我已经更新了上面的示例脚本,并且docs页面上的代码也将很快修复。

07-24 17:19
查看更多