我试图让人们看一段视频的时间,或者甚至更好地每分钟做一次动作。我想要做的是每分钟付费解决方案。每分钟都必须从用户那里取消信用。jwplayer - 获得观看时间 - 按分钟付费 - 按时按时操作
如果这是不可能的,我怎样才能设置视频可以观看的最长时间,具体取决于用户拥有的积分数量?
我有一个许可的jw播放器,它是不可编辑的。
在此先感谢。
我试图让人们看一段视频的时间,或者甚至更好地每分钟做一次动作。我想要做的是每分钟付费解决方案。每分钟都必须从用户那里取消信用。jwplayer - 获得观看时间 - 按分钟付费 - 按时按时操作
如果这是不可能的,我怎样才能设置视频可以观看的最长时间,具体取决于用户拥有的积分数量?
我有一个许可的jw播放器,它是不可编辑的。
在此先感谢。
您可以使用javascript setInterval函数。
window.setInterval(function(){
/// call your function to deduct a point
}, 60000);
我想你需要将它与你现有的用户数据库进行整合,以检查谁是谁以及他支付和消费了多少时间。如果我是对的,那你为什么不在服务器端实现呢?根据您使用的媒体流解决方案,您可以在服务器端构建该部分,并且在执行播放器时不可靠。
我喜欢JWPlayer,我个人尊重Jeroen Wijering(我甚至在会议上多次与他交谈过),但是您需要为此类任务选择更合适的工具集。
让我知道你使用哪个媒体服务器。
您可以使用我们的API和导通时间()事件 - http://support.jwplayer.com/customer/portal/articles/1413089-javascript-api-reference
谢谢你的答案家伙。我目前的解决方案是这样的:在onTime函数中,我检查Math.floor(event.position)是否不同,如果是的话,我递增计数器。一旦计数器达到60,我就会使用当前用户ID在一个PHP脚本中运行ajax帖子,在该脚本中更改用户信用。
onTime: function(event) {
var time = Math.floor(event.position);
if(time != old_time){
counter++;
old_time = time;
}
if(counter == 60) {
jQuery.ajax({
type: "POST",
url: 'streaming_services.php',
data: {functionname: 'continuePlaying', id: <?php echo $_SESSION['wp_wallet_user_id']; ?>},
success:function(result) {
var obj = jQuery.parseJSON(result);
$("span#wallet_stats span").text(obj.credits);
if(obj.credits <= 0) {
jwplayer('player').remove();
}
},
error:function(data) {
console.log("error");
}
});
counter = 0;
}
}
如果有更好的解决方案,或者我的代码没有优化让我知道!我仍然在学习,所以我非常感谢任何帮助。 @Aquary @EthanJWPlayer
jwplayer的onTime()函数会不会更适合?因为我只想每分钟都要扣除一点,所以视频正在播放。有了setInterval,即使视频暂停,它也会扣分...有更好的解决方案吗? – AlexanderCl
@ user3674217您可以每隔一段时间设置一次间隔并检查视频是否正在播放,如果是添加1/60点 – viralpickaxe