在查看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
,当事件被触发时,您实际上并没有将任何内容作为参数传入。任何工作都是最受欢迎的!
答案 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代码示例。
- 结束编辑 -
添加它的正确方法是:
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,在此期间它不可用。