概述

最近腾讯云播放器进行了更新,增加了TCplayer,支持点播播放。由于工作需要,了解了一下TCplayer,把心得记录下来,供以后开发时参考,相信对其他人也有用。

参考文档:

TCPlayer开发文档

TCPlayer使用文档

TCplayer

TCplayer可以播放发布在腾讯云点播中的视频。所以要先上传视频到腾讯云点播,然后它会给你一个fileID和appID。前端就利用这个fileID和appID来播放视频。

由于 MP4 和 HLS(m3u8)是目前在 PC 浏览器和手机浏览器上支持程度最广泛的格式,所以腾讯云的视频点播平台最终会把上传的视频发布为 MP4HLS(m3u8) 格式。

引入播放器

首先在页面合适的地方引入文件:

<link href="//imgcache.qq.com/open/qcloud/video/tcplayer/tcplayer.css" rel="stylesheet">

<!-- 在 Chrome Firefox 等现代浏览器中通过 HTML5 播放 hls -->
<script src="//imgcache.qq.com/open/qcloud/video/tcplayer/lib/hls.min.0.8.8.js"></script>
<script src="//imgcache.qq.com/open/qcloud/video/tcplayer/tcplayer.min.js"></script>

然后放置播放器容器,注意必须为video标签

<video id="player-container-id" preload="auto" playsinline webkit-playinline x5-playinline>
</video>

最后在页面初始化的代码中加入以下初始化脚本,传入获取到的fileID和appID。

var player = TCPlayer('player-container-id', {
// player-container-id 为播放器容器ID,必须与html中一致
fileID: '4564972818956091133', // 请传入需要播放的视频filID 必须
appID: '1253668508' // 请传入点播账号的appID 必须
});

自定义宽高

像这种第三方视频组件,难点就是自定义它的宽高。我们有2种方法,一种方法是在脚本中用js去取它的宽高,代码如下所示:

var player = TCPlayer('player-container-id', {
// player-container-id 为播放器容器ID,必须与html中一致
fileID: '4564972818956091133', // 请传入需要播放的视频filID 必须
appID: '1253668508', // 请传入点播账号的appID 必须
width: $('player-container-id').width(),
height: $('player-container-id').height()
});

上面这种方法有一个缺点就是视频容易被拉伸。所以我们更推荐用第二种方法:设置视频的宽高自适应。我们在css里面设置视频的宽高自适应,代码如下:

/* 通过 css 设置播放器尺寸 这时<video>中的宽高属性将被覆盖*/
#player-container-id {
width: 100%;
max-width: 100%;
height: 0;
padding-top: 56.25%; /* 计算方式:播放器以16:9的比率显示,这里的值为 9/16 * 100 = 56.25 */
} /* 外部容器也需要是自适应的*/
#wrap {
width: 80%;
margin: 0 auto;
}

切换fileID播放

我们常常有这种需求,就是需要更换视屏播放内容。TCPlayer有一个API, loadVideoByID(args) 方法,可以更换视屏内容,代码如下:

//其中player就是实例化的TCPlayer
player.loadVideoByID({
fileID: '', // 请传入需要播放的视频 filID 必须
appID: '' // 请传入点播账号的 appID 必须
});

暂停与继续

对于视频,我们常常有这种需求,就是在暂停视频后,点击任何地方,都能够继续播放视频。这个可以利用TCPlayer的图片贴片功能实现。

TCPlayer支持配置片头、片中暂停、片尾显示图片贴片,并且可以绑定事件,也可以添加超链接。也就是说,不仅可以实现上述需求,还可以添加超链接跳转等。

方法是在【控制台】>【Web 播放器管理】选定某个播放器配置,单击贴片栏目进行设置贴片信息

示例请看:图片贴片

腾讯云播放器更新——TCplayer的更多相关文章

  1. MongoDB数组修改器更新数据(转)

    MongoDB数组修改器更新数据    这里,我们将了解一下数组修改器.数组,是我们经常看到和使用到的且非常有用的数据结构:它不仅可以通过索进行引用,还可以作为集合来使用.数组修改器,顾名思义,它是用 ...

  2. charles工具过滤腾讯视频播放器广告

    Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据.它允许一个开发者查看所有连接互联 ...

  3. Mongodb嵌套文档的改动-利用数组改动器更新数据

    初学mongodb的可能和我一样有个疑问.mongodb是文档型的,那么假设一个文档嵌套另外一个文档,假设对这个嵌套文档进行增删改查呢. 就像例如以下这样:.怎样对auther里面的name进行增删改 ...

  4. javaSE高级篇4 — 反射机制( 含类加载器 ) — 更新完毕

    反射机制 1.反射机制是什么?----英文单词是:reflect.在java.lang包下---这才是java最牛逼的技术 首先提前知道一句话----在java中,有了对象,于是有了类,那么有了类之后 ...

  5. Web播放器

    web视频播放器的使用及遇到的问题记录 TcPlayer播放器(腾讯Web超级播放器) https://cloud.tencent.com/document/product/881/20207 Ste ...

  6. 基于vue2.0的网易云音乐 (实时更新)

    本人在自学vue,之后想在学习过程中加以实践.由于之前有做过jquery的播放器效果,ui仿照网易云,地址 www.daiwei.org/music 于是就想做vue 的网易云播放器,网上也有类似的项 ...

  7. 阿里云web播放器

    原文地址:https://help.aliyun.com/document_detail/51991.html?spm=5176.doc61109.6.703.ZTCYoi 一.概念说明 1. pla ...

  8. 腾讯TencentOS 十年云原生的迭代演进之路

    导语 TencentOS Server (又名 Tencent Linux 简称 Tlinux) 是腾讯针对云的场景研发的 Linux 操作系统,提供了专门的功能特性和性能优化,为云服务器实例中的应用 ...

  9. yarn资源管理器高可用性的实现

    资源管理器高可用性 . The ResourceManager (RM) is responsible for tracking the resources in a cluster, and sch ...

随机推荐

  1. html:class名命名规范

    1 前端开发命名规范 1.1 为什么要制定CSS命名规范 统一的命名规范,便于多人开发维护时代码统一,减少项目沟通和交接的成本,增加代码的语义化. 1.2 CSS命名规则 样式类名全部用小写,首字符必 ...

  2. Match-----Gray-value-----基于灰度值的模板匹配

    rot 带旋转 mg 带金字塔 rad 角度转弧度 deg 弧度转角度 基于灰度受光照影响比较显著,实际项目中用的不多. MaxOverlap:0~1  指遮挡的部分比例  例如0.6,意思是遮挡了0 ...

  3. 2018面向对象程序设计(Java)第16周学习指导及要求

    2018面向对象程序设计(Java)第16周学习指导及要求(2018.12.13-2018.12.16)   学习目标 (1) 掌握线程概念: (2) 掌握线程创建的两种技术: (3) 理解和掌握线程 ...

  4. eclipse修改工作目录颜色

    转载请注明本地址,http://blog.csdn.net/u013173247/article/details/41676495 经常用Eclipse的朋友都应该清楚,Eclipse的白背景不知道晃 ...

  5. java集合框架(1) hashMap 简单使用以及深度分析(转)

    java.util 类 HashMap<K,V>java.lang.Object  java.util.AbstractMap<K,V>      java.util.Hash ...

  6. php利用simple_html_dom类,获取页面内容,充当爬虫角色

    PHP脚本扮演爬虫的角色,可能大家第一时间想到可能会是会正则,个人对正则的规则老是记不住,表示比较难下手,今天工作中有个需求需要爬取某个网站上的一些门店信息 无意间在网上看到一个比较好的类库叫:sim ...

  7. AS3中的getChildByName

    [转载的...............] 在AS3中,我们可以用getChildByName来获取一个元件,但是要注意返回的类型是DisplayObject,这样一旦我们的元件中有一些自定义的方法就不 ...

  8. Jstack定位CPU使用最多的线程及代码

    jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多.下面我们来一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有 ...

  9. 查看linux中tcp连接数

    一.查看哪些IP连接本机 netstat -an 二.查看TCP连接数 1)统计80端口连接数netstat -nat|grep -i "80"|wc -l 2)统计httpd协议 ...

  10. Mybatis 中实体类的编写

    一个实体类对应一个数据表 一个属性对应一个字段 默认情况下类名和属性名都采用 “下划线转驼峰” 的命名方式.但具体采用什么样的命名方式并不重要(方式一致即可),在后面使用这些对象的时候,可以通过 re ...