概述

最近腾讯云播放器进行了更新,增加了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. ListView的基本使用方法和RecyclerView的基本使用方法

    ListView是一种用于列表显示数据内容的控件,它可以通过适配器实现对于数据的列表显示,而RecyclerView是对于ListView优化后的列表数据显示控件. 个人对于List的使用经历多半在新 ...

  2. Android 阻隔返回键

    //阻隔 返回键 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.K ...

  3. 数字三角形/数塔问题(DP入门题)

    有形如下图所示的数塔,从顶部出发,在每一结点可以选择向左走或是向右走,一起走到底层,要求找出一条路径,使路径上的值最大. 样例输入: 5 13 11 8 12 7 26 6 14 15 8 12 7 ...

  4. position:fix相对父元素定位

    大家都知道,当position的值为fix时,生成绝对定位的元素,相对于浏览器窗口进行定位. 它常常应用的场合是,当下拉滚动条时固定导航栏到顶部,将广告固定在页面两侧或浏览器中间. 如果需要将导航栏d ...

  5. convert 函数的使用

    先说问题:今天项目中很多模块出现了一个集体性的问题,时间检索时选择同一天 检索不出数据(表中数据确实存在),其实这个问题在做东西的时候领导说过,记忆中我解决了,但是后来写代码可能把这个问题忘记了! 其 ...

  6. [leetcode]38. Count and Say数数

    The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 1 ...

  7. java 线程Thread 技术--volatile关键字

    java 语言中允许线程访问共享变量,为了保证共享变量能被准确和一致的更新,Java 语言提供了volatile 关键字,也就是我们所说的内存一致性: 问题抛出:(尝试去运行下面代码,以及将volat ...

  8. ES6 Number

    1. 新增Number.EPSILON(误差检查函数)

  9. PyCharm默认文件头部的设置

    PyCharm的设置 1.设置默认的文件头: 找到该路径并添加以下信息 File->settings->Editor->File and Code Templates->Pyt ...

  10. webserver

    1. 控制台,浏览器输入http://localhost:8080/ using System; using System.Collections; using System.IO; using Sy ...