ZiggeoApi上传的事件未被触发

时间:2016-10-27 12:52:10

标签: javascript webrtc

在查看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,当事件被触发时,您实际上并没有将任何内容作为参数传入。任何工作都是最受欢迎的!

1 个答案:

答案 0 :(得分:1)

v2不需要数据参数来传递令牌,因为您可以直接在任何位置抓取它。

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

<!-- contact -->
       <div class="contact wowload fadeIn">
       <div class="container">
       <h2 class="text-center">Contact us</h2>
       <div class="row">
        <div class="col-sm-6 col-sm-offset-3">
          <form id="contact-form" method="post" action="contact.php" role="form">
            <div class="messages"></div>
                <div class="form-group">
                    <input id="name" name="name" type="text" class="form-control" placeholder="name" required="required" data-error="enter your name"> 
                    <div class="help-block with-errors"></div>
                </div>
                <div class="form-group">
                    <input id="email" name="email" type="email" class="form-control" placeholder="email*" required="required">
                    <div class="help-block with-errors"></div>
                </div>
                <div class="form-group">
                    <textarea id="message" name="message" class="form-control" placeholder="message" rows="5" required="required"></textarea>
                    <div class="help-block with-errors"></div>
                </div>   
               <div>
                   <p class="text-muted"><strong>*</strong> These fields are required.</p>
               </div>                
                <button type="submit" class="btn btn-success"><i class="fa fa-send-o"></i> Submit</button>

            </form>

          </div>
        </div>
       </div>
       </div>
       <!-- contact -->

另外值得一提的是,一旦启动上传,令牌已经在v1和v2中都可用,因此即使在需要时你也应该能够抓住它们。

编辑2016/11/18

  

JavaScript SDK文档页面   相对较新,Events page   此时显示错误的v2代码示例。

  • 这已经解决,Ziggeo文档显示正确的样本。

- 结束编辑 -

添加它的正确方法是:

recorder.get('video');

添加显示已验证,上传和上传活动的工作示例

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') );
  });
});

  • 该代码段可能无效(取决于浏览器及其安全设置),但在localhost或某些服务器上使用相同的代码。

  • 值得一提的是,<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

编辑2016/10/28

recorder.on("uploading", function() { recorder.get('video'); }); 事件实际上是在r18中引入的,因此它应该在r18,19及更高版本中工作。

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

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