博客
关于我
腾讯TcPlayer listener函数监听
阅读量:126 次
发布时间:2019-02-26

本文共 1305 字,大约阅读时间需要 4 分钟。

一、触发条件

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

转载地址:http://izof.baihongyu.com/

你可能感兴趣的文章
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty心跳检测
查看>>
Netty心跳检测机制
查看>>
netty既做服务端又做客户端_网易新闻客户端广告怎么做
查看>>
netty时间轮
查看>>
Netty服务端option配置SO_REUSEADDR
查看>>
Netty核心模块组件
查看>>
Netty框架内的宝藏:ByteBuf
查看>>
Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
查看>>
Netty源码—1.服务端启动流程一
查看>>
Netty源码—1.服务端启动流程二
查看>>
Netty源码—2.Reactor线程模型一
查看>>
Netty源码—2.Reactor线程模型二
查看>>
Netty源码—3.Reactor线程模型三
查看>>
Netty源码—3.Reactor线程模型四
查看>>
Netty源码—4.客户端接入流程一
查看>>
Netty源码—4.客户端接入流程二
查看>>
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—5.Pipeline和Handler二
查看>>
Netty源码—6.ByteBuf原理一
查看>>