jwplayer - 看时间 - 每分钟付费 - 按时采取行动

时间:2014-05-25 18:10:04

标签: javascript jquery streaming jwplayer

我试图获得有人观看视频的时间,或者甚至更好地每分钟做一次动作。我试图做的是一种每分钟付费的解决方案。每分钟都必须从用户那里取消信用。

如果这不可能,我如何设置视频可观看的最大分钟数,具体取决于用户的学分数量?

我有一个不可编辑的许可jw播放器。

提前致谢。

4 个答案:

答案 0 :(得分:2)

您可以使用javascript setInterval函数。

window.setInterval(function(){
  /// call your function to deduct a point
}, 60000);

答案 1 :(得分:1)

我想您需要将其与现有用户的数据库集成,以确定他支付和消费的时间和人数。如果我是对的,那你为什么不在服务器端实现这个呢?根据您使用的媒体流解决方案,您可以在服务器端构建该部分,而在播放器实现方面则不可靠。

我喜欢JWPlayer,我个人尊重Jeroen Wijering(我甚至在会议上多次与他交谈过),但你需要为这类任务选择更合适的工具集。

让我知道您使用的是哪种媒体服务器。

答案 2 :(得分:1)

谢谢你的回答。我当前的解决方案是这样的:在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

答案 3 :(得分:0)