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

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

触发条件

从指定的直播地址进行拉流

使用腾讯云的TcPlayer播放器

在网站允许flash的情况下,如果指定的直播地址提供了flv格式的流源,则优先使用flash播放器

播放器被隐藏(display:none)

问题描述

使用腾讯云的TcPlayer从指定的直播地址拉流时,可以在初始化播放器时设置一个listener方法,用于监听流的拉取状态

在刚开始时播放器会被设置为display:none隐藏起来,原因是需要先展示一个未开始播放的状态,待拉取流成功后再进行播放器的展示

此时(播放器被隐藏)的情况下,如果采用h5的video播放方式的m3u8流,能够正常地通过listener函数监听到流的状态

但如果使用flv格式的流源进行播放,由于flash技术的特性,listener函数将无法接收到流的状态信息,必须移除display:none才可以正常监听

listener函数的实现代码示例: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') {        console.log(msg, '拉流成功');        //清除拉流的定时器        clearTimeout(timer);        _this.$emit('update-stream-state', 1);    }}

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

你可能感兴趣的文章
Python mock Patch os.environ 和返回值
查看>>
Python mock 修补另一个函数调用的函数
查看>>
python mqtt 客户端实现
查看>>
Python Multiprocessing - 将类方法应用于对象列表
查看>>
Python multiprocessing.Queue 与 multiprocessing.manager().Queue()
查看>>
Python multiprocessing使用详解
查看>>
python mysql 基于 sqlalvhrmy_Python操作MySQL:pymysql和SQLAlchemy
查看>>
python mysql 布尔类型_python语言的基础学习:基本类型,函数,面向对象,模块,mysql数据库...
查看>>
Python NLP完整项目实战教程(1)
查看>>
Python NLP自然语言处理详解
查看>>
python nltk nltk_data 离线安装,chatterbot
查看>>
Redis 限流的 3 种方式,还有谁不会?
查看>>
Python这么慢,为啥大公司还在用?
查看>>
python note 06 编码方式
查看>>
python numba 转灰度图_使用NumPy、Numba的简单使用(二)
查看>>
Python Numpy 关于 linspace()函数 使用详解(全)
查看>>
Python numpy插入、读取至postgreSQL数据库中bytea类型字段
查看>>
Python numpy数据的保存和读取
查看>>
python numpy矩阵索引_python – 在2D numpy ndarray或numpy矩阵中获取前N个值的索引
查看>>
Python OCR库:自动化测试验证码识别神器!
查看>>