概述

最近腾讯云播放器进行了更新,增加了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. C#对接JAVA系统遇到的AES加密坑

    起因对接合作伙伴的系统,需要对数据进行AES加密 默认的使用了已经写好的帮助类中加密算法,发现结果不对,各种尝试改变加密模式改变向量等等折腾快一下午.最后网上查了下AES在JAVA里面的实现完整代码如 ...

  2. 《深入理解JAVA虚拟机》----------第二章 JAVA内存区域与内存溢出异常,笔记(下)

    2. HotSpot虚拟机对象探秘 2.1 对象的创建 虚拟机遇到一条New指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载.解析和初 ...

  3. 图片的滑动缩放html、css、js代码

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. CORSFilter 跨域资源访问

    CORS 定义 Cross-Origin Resource Sharing(CORS)跨来源资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,是 ...

  5. Failed to resolve:com.android.support:appcompat-v7:报错处理

    既然是版本问题,那就的先去了解自己的电脑安装的SDK工具版本,点开SDK Manager图标,然后选中Updates就可以看到了 这里我的 sdk 工具版本就是26.1.1了 报错是因为自己的andr ...

  6. Python类继承(转发)

    目录 一.概述 二.类的继承 2.1 继承的定义 2.2 构造函数的继承 2.3 子类对父类方法的重写 三.类继承的事例 回到顶部 一.概述 面向对象编程 (OOP) 语言的一个主要功能就是“继承”. ...

  7. Hibernate Generic DAO的介绍安装和使用

    java 的包挺多,比c#多 . jar包一个名,解压缩出来又出来又叫另一个名 .搜索起来,内容都分散的很 http://mvnrepository.com  maven库搜索 com.googlec ...

  8. 6C - 开门人和关门人

    每天第一个到机房的人要把门打开,最后一个离开的人要把门关好.现有一堆杂乱的机房签 到.签离记录,请根据记录找出当天开门和关门的人.  Input 测试输入的第一行给出记录的总天数N ( > 0 ...

  9. javascript 错误监控

    一.错误分类 1,即使运行错误:代码错误, 2.资源加载错误 二. 错误的捕获方式 1.即使运行错误的捕获方式 a. try catch       b.window.onerror 2.资源加载错误 ...

  10. const和static readonly 区别

    const的值是在编译期间确定的,因此只能在声明时通过常量表达式指定其值. 而static readonly是在运行时计算出其值的,所以还可以通过静态构造函数来赋值. static readonly ...