首页 腾讯云动态正文

腾讯TcPlayer listener函数监听

云返利网 腾讯云动态 2020-08-21 20:51:24 8 0 腾讯云服务

一、触发条件
1、从给定直播地址拉流 2、使用腾讯云的TcPlayer播放器 3、当网站允许flash时,如果给定的直播地址存在flv时,优先使用flash 4、播放器被隐藏

二、问题描述
使用腾讯云的TcPlayer从给定的直播地址拉流,在初始化播放器时,播放器支持设置一个listener方法,可以监听流是否拉取成功。
刚开始时是把播放器设置display:none,隐藏起来的,因为还要展示一个未开始播放的状态,拉到流之后才需要展示播放器。
此时(播放器被隐藏)如果有m3u8的流(采用h5的video播放),是没问题的,可以正常通过listener函数监听,但是播放flv时,flash就无法通过listener函数监听到流的状态,必须要把display:none干掉才行。

listener: function (msg) {
                    if(msg.type == 'error') {
                        console.log(msg, '播放报错');
                        _this.$emit('update-stream-state', 3);
                        // 可以尝试5次拉流
                        if (_this.player) {
                            timer = setTimeout(() => {
                                _this.player && _this.player.load();
                                console.log('重试拉流');
                            }, 5000);
                            setInterval(() => {
                                clearTimeout(timer);
                            }, 25000);
                        }
                    } else if (msg.type == 'play'){
                        // TODO
                        console.log(msg, '拉流成功');
                        // 清楚拉流的定时器
                        clearTimeout(timer);
                        _this.$emit('update-stream-state', 1);
                    }
                    
                }

【关于云返利网】

云返利网是阿里云、腾讯云、华为云产品推广返利平台,在各个品牌云产品官网优惠活动之外,云返利网还提供返利。您可以无门槛获得阿里云、华为云、腾讯云所有产品返利,在官网下单后就可以领取,无论是自己用、公司用还是帮客户采购,您个人都可以获得返利。云返利网的目标是让返利更多、更快、更简单!详情咨询13121395187(微信同号)