视立方播放器腾讯云开通付费12元及获取License URL 和License Key教程

视立方播放器腾讯云开通付费12元教程

1.登录腾讯云购买页面

https://buy.cloud.tencent.com/vcube?type=player&pkg-type=lic

视立方播放器腾讯云开通

如图,进入之后直接选择【播放器SDK】

下拉页面直接付费开通,付费12元

备注:视立方播放器腾讯云开通价格为12元每年!

视立方播放器腾讯云开通

2.付费开通之后,进入控制台

https://console.cloud.tencent.com/vcube

视立方播放器

如图,在控制台点击左侧导航【移动端License】

之后点击【新建正式License】

视立方播放器

如图,点击下一步

视立方播放器

在弹出界面,点击绑定资源,绑定已付费的资源订单

视立方播放器

如图,点击立即绑定之后,会有列表可以选择,如果选择框为空,请先到第一步的地方付费12元给腾讯公司,付费之后就可以选择了。选择之后,点击底部的确定按钮!

3.在创建完成的界面,可以拿到需要的接口信息License URL 和License Key

视立方播放器

如图,这里我们就获得到了接口信息License URL 和License Key

之后,我们将对应的License URL 和License Key复制到一门开发者后台

视立方播放器

如图,输入之后,点击保存,之后在左侧点击【生成安装包】进入生成新版APP;

新版APP就可以实现视立方播放器原生播放器效果了!

播放器 SDK 包括哪些 License?

播放器 SDK 包括哪些 License?

包括视频播放 License 和终端极速高清 License:

  • 视频播放 License:用于解锁移动端播放器 SDK 的视频播放功能。购买获得 License 解锁授权,以正常使用10.1及其以上版本的播放器 SDK 。
  • 终端极速高清 License:用于解锁 终端极速高清 模块的使用权限。

视立方播放器基础功能使用-硬件加速

视立方播放器基础功能使用-硬件加速

硬件加速

对于蓝光级别(1080p)的画质,简单采用软件解码的方式很难获得较为流畅的播放体验,所以如果您的场景是以游戏直播为主,一般都推荐开启硬件加速。

软解和硬解的切换需要在切换之前先 stopPlay,切换之后再 startVodPlay,否则会产生比较严重的花屏问题。

 mVodPlayer.stopPlay(true);
 mVodPlayer.enableHardwareDecode(true);
 mVodPlayer.startVodPlay(flvUrl, type);

视立方播放器基础功能使用-HTTP-REF

视立方播放器基础功能使用-HTTP-REF

HTTP-REF

TXVodPlayConfig 中的 headers 可以用来设置 HTTP 请求头,例如常用的防止 URL 被到处拷贝的 Referer 字段(腾讯云可以提供更加安全的签名防盗链方案),以及用于验证客户端身份信息的 Cookie 字段。

TXVodPlayConfig mPlayConfig = new TXVodPlayConfig();
Map<String, String> headers = new HashMap<>();
headers.put("Referer", "${Refer Content}");
mPlayConfig.setHeaders(headers);
mVodPlayer.setConfig(mPlayConfig);

视立方播放器基础功能使用- 贴片广告

视立方播放器基础功能使用- 贴片广告

贴片广告

播放器SDK支持在界面添加图片贴片,用于广告宣传等。实现方式如下:

  • autoPlay为 NO,此时播放器会正常加载,但视频不会立刻开始播放。
  • 在播放器加载出来后、视频尚未开始时,即可在播放器界面查看图片贴片广告。
  • 待达到广告展示结束条件时,使用resume接口启动视频播放。

mVodPlayer.setAutoPlay(false);  // 设置为非自动播放
mVodPlayer.startVodPlay(url);    // startVodPlay 后会加载视频,加载成功后不会自动播放
// ......
// 在播放器界面上展示广告
// ......  
mVodPlayer.resume();  // 广告展示完调用 resume 开始播放视频

视立方播放器基础功能使用-屏幕截图

视立方播放器基础功能使用-屏幕截图

屏幕截图

通过调用 snapshot 您可以截取当前视频为一帧画面,此功能只会截取当前直播流的视频画面,如果您需要截取当前的整个 UI 界面,请调用 Android 的系统 API 来实现。

// 屏幕截图
mVodPlayer.snapshot(new ITXSnapshotListener() {
    @Override
    public void onSnapshot(Bitmap bmp) {
        if (null != bmp) {
           //获取到截图bitmap
        }
    }
});

视立方播放器基础功能使用-画面调整

视立方播放器基础功能使用-画面调整

画面调整

  • view:大小和位置
    如需修改画面的大小及位置,直接调整 SDK 集成时 添加 View 中添加的 “video_view” 控件的大小和位置即可。
  • setRenderMode:铺满或适应可选值含义RENDER_MODE_FULL_FILL_SCREEN将图像等比例铺满整个屏幕,多余部分裁剪掉,此模式下画面不会留黑边,但可能因为部分区域被裁剪而显示不全RENDER_MODE_ADJUST_RESOLUTION将图像等比例缩放,适配最长边,缩放后的宽和高都不会超过显示区域,居中显示,画面可能会留有黑边
  • setRenderRotation:画面旋转可选值含义RENDER_ROTATION_PORTRAIT正常播放(Home 键在画面正下方)RENDER_ROTATION_LANDSCAPE画面顺时针旋转270度(Home 键在画面正左方) // 将图像等比例铺满整个屏幕 mVodPlayer.setRenderMode(TXLiveConstants.RENDER_MODE_FULL_FILL_SCREEN); // 正常播放(Home 键在画面正下方) mVodPlayer.setRenderRotation(TXLiveConstants.RENDER_ROTATION_PORTRAIT);

视立方播放器基础功能使用–播放控制

视立方播放器基础功能使用

1、播放控制

开始播放

// 开始播放
mVodPlayer.startVodPlay(url)

暂停播放

// 暂停播放
mVodPlayer.pause();

恢复播放

// 恢复播放
mVodPlayer.resume();

结束播放

// 结束播放
mVodPlayer.stopPlay(true);

调整进度(Seek)

当用户拖拽进度条时,可调用 seek 从指定位置开始播放,播放器 SDK 支持精准 seek。

int time = 600; // int类型时,单位为 秒
// float time = 600; // float 类型时单位为 秒
// 调整进度
mVodPlayer.seek(time);

从指定时间开始播放

首次调用 startVodPlay 之前,支持从指定时间开始播放。

float startTimeInSecond = 60; // 单位:秒
mVodPlayer.setStartTime(startTimeInSecond);   // 设置开始播放时间
mVodPlayer.startVodPlay(url);

playList 播放列表 App开发接入视立方播放器

playList 播放列表 App开发接入视立方播放器

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

核心代码示例,详情参阅demo

//仅支持 Android 版
//播放列表,按顺序自动连续播放
jsBridge.txVideo.playList({
  title: '这是播放列表的名称',
  //必须,数组类型,视频源列表
  items: [
    {
       //列表图片
       poster: 'https://i.cdn.yimenapp.com/sys/player2.jpg',
       url   : 'https://734.cdn-vod.huaweicloud.com/asset/c4aec16ec296cb8964f80845000cb958/play_video/fcb8827219c07153131eff228583e5a1_H.264_1280X720_HEAACV1_1500.mp4',
       title : '华为消费者业务品牌主题曲 Dream It Possible',
       desc  : '时长 03:58'
    },
    {
       poster: 'http://1252463788.vod2.myqcloud.com/e12fcc4dvodgzp1252463788/28742df34564972819219071568/4564972819209692959.jpeg',
       appId    : 1252463788,
       videoId  : {
         fileId : '4564972819219071568',
         pSign  : ''
       },
       title : '腾讯云视频',
       desc  : '与美女对话'
    },
    {
       poster: 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/1536584350_1812858038.100_0.jpg',
       multiURLs     : [
        {
          url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f10.mp4',
          qualityName: '流畅'
        },
        {
          url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f20.mp4',
          qualityName: '标清'
        },
        {
          url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f30.mp4',
          qualityName: '高清'
        }
      ],
      title           : 'MP4点播 多码率 URL 链接',
      playDefaultIndex: 1
    },
    {
       poster: 'https://i.cdn.yimenapp.com/sys/player4.jpg',
       url   : 'http://gcqq450f71eywn6bv7u.exp.bcevod.com/mda-hbqagik5sfq1jsai/mda-hbqagik5sfq1jsai.mp4',
       title : 'MP4点播 Motor Live'
    },
    {
       poster: '',
       url   : 'http://5815.liveplay.myqcloud.com/live/5815_89aad37e06ff11e892905cb9018cf0d4_900.flv',
       title : 'FLV 直播流'
    },
    {
       poster: 'https://i.cdn.yimenapp.com/sys/player5.jpg',
       url   : 'http://cyberplayerplay.kaywang.cn/cyberplayer/demo201711-L1.m3u8',
       title : 'HLS(m3u8) 直播流'
    }
  ],
  //可选,数字类型,开始播放的视频序号,默认 0(第一个)
  playDefaultIndex: 0,
  //可选,布尔类型,是否循环播放视频列表,默认 false
  loop            : false,
  //可选,布尔类型,是否保留刘海(凹凸屏)区域,默认 false 即不保留(全屏视频会占用刘海区域)
  cutout: false
});

/*
参数说明:
{
  title: '', //可选,字符串类型,播放列表名称,显示在标题栏上
  items: [   //必须,视频列表清单数组
    {        //以上 play 方式1, 2, 3 播放参数的任意组合
    },
    ...
  ],
  playDefaultIndex: 0 //可选,默认开始播放 items 列表中的视频序号
}
*/

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//仅支持 Android 版
//播放列表,按顺序自动连续播放
jsBridge.txVideo.playList({
  title: '这是播放列表的名称',
  //必须,数组类型,视频源列表
  items: [
    {
       //列表图片
       poster: 'https://i.cdn.yimenapp.com/sys/player2.jpg',
       url   : 'https://734.cdn-vod.huaweicloud.com/asset/c4aec16ec296cb8964f80845000cb958/play_video/fcb8827219c07153131eff228583e5a1_H.264_1280X720_HEAACV1_1500.mp4',
       title : '华为消费者业务品牌主题曲 Dream It Possible',
       desc  : '时长 03:58'
    },
    {
       poster: 'http://1252463788.vod2.myqcloud.com/e12fcc4dvodgzp1252463788/28742df34564972819219071568/4564972819209692959.jpeg',
       appId    : 1252463788,
       videoId  : {
         fileId : '4564972819219071568',
         pSign  : ''
       },
       title : '腾讯云视频',
       desc  : '与美女对话'
    },
    {
       poster: 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/1536584350_1812858038.100_0.jpg',
       multiURLs     : [
        {
          url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f10.mp4',
          qualityName: '流畅'
        },
        {
          url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f20.mp4',
          qualityName: '标清'
        },
        {
          url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f30.mp4',
          qualityName: '高清'
        }
      ],
      title           : 'MP4点播 多码率 URL 链接',
      playDefaultIndex: 1
    },
    {
       poster: 'https://i.cdn.yimenapp.com/sys/player4.jpg',
       url   : 'http://gcqq450f71eywn6bv7u.exp.bcevod.com/mda-hbqagik5sfq1jsai/mda-hbqagik5sfq1jsai.mp4',
       title : 'MP4点播 Motor Live'
    },
    {
       poster: '',
       url   : 'http://5815.liveplay.myqcloud.com/live/5815_89aad37e06ff11e892905cb9018cf0d4_900.flv',
       title : 'FLV 直播流'
    },
    {
       poster: 'https://i.cdn.yimenapp.com/sys/player5.jpg',
       url   : 'http://cyberplayerplay.kaywang.cn/cyberplayer/demo201711-L1.m3u8',
       title : 'HLS(m3u8) 直播流'
    }
  ],
  //可选,数字类型,开始播放的视频序号,默认 0(第一个)
  playDefaultIndex: 0,
  //可选,布尔类型,是否循环播放视频列表,默认 false
  loop            : false,
  //可选,布尔类型,是否保留刘海(凹凸屏)区域,默认 false 即不保留(全屏视频会占用刘海区域)
  cutout: false
});

/*
参数说明:
{
  title: '', //可选,字符串类型,播放列表名称,显示在标题栏上
  items: [   //必须,视频列表清单数组
    {        //以上 play 方式1, 2, 3 播放参数的任意组合
    },
    ...
  ],
  playDefaultIndex: 0 //可选,默认开始播放 items 列表中的视频序号
}
*/

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//仅支持 Android 版
//播放列表,按顺序自动连续播放
jsBridge.txVideo.playList({
  title: '这是播放列表的名称',
  //必须,数组类型,视频源列表
  items: [
    {
       //列表图片
       poster: 'https://i.cdn.yimenapp.com/sys/player2.jpg',
       url   : 'https://734.cdn-vod.huaweicloud.com/asset/c4aec16ec296cb8964f80845000cb958/play_video/fcb8827219c07153131eff228583e5a1_H.264_1280X720_HEAACV1_1500.mp4',
       title : '华为消费者业务品牌主题曲 Dream It Possible',
       desc  : '时长 03:58'
    },
    {
       poster: 'http://1252463788.vod2.myqcloud.com/e12fcc4dvodgzp1252463788/28742df34564972819219071568/4564972819209692959.jpeg',
       appId    : 1252463788,
       videoId  : {
         fileId : '4564972819219071568',
         pSign  : ''
       },
       title : '腾讯云视频',
       desc  : '与美女对话'
    },
    {
       poster: 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/1536584350_1812858038.100_0.jpg',
       multiURLs     : [
        {
          url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f10.mp4',
          qualityName: '流畅'
        },
        {
          url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f20.mp4',
          qualityName: '标清'
        },
        {
          url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f30.mp4',
          qualityName: '高清'
        }
      ],
      title           : 'MP4点播 多码率 URL 链接',
      playDefaultIndex: 1
    },
    {
       poster: 'https://i.cdn.yimenapp.com/sys/player4.jpg',
       url   : 'http://gcqq450f71eywn6bv7u.exp.bcevod.com/mda-hbqagik5sfq1jsai/mda-hbqagik5sfq1jsai.mp4',
       title : 'MP4点播 Motor Live'
    },
    {
       poster: '',
       url   : 'http://5815.liveplay.myqcloud.com/live/5815_89aad37e06ff11e892905cb9018cf0d4_900.flv',
       title : 'FLV 直播流'
    },
    {
       poster: 'https://i.cdn.yimenapp.com/sys/player5.jpg',
       url   : 'http://cyberplayerplay.kaywang.cn/cyberplayer/demo201711-L1.m3u8',
       title : 'HLS(m3u8) 直播流'
    }
  ],
  //可选,数字类型,开始播放的视频序号,默认 0(第一个)
  playDefaultIndex: 0,
  //可选,布尔类型,是否循环播放视频列表,默认 false
  loop            : false,
  //可选,布尔类型,是否保留刘海(凹凸屏)区域,默认 false 即不保留(全屏视频会占用刘海区域)
  cutout: false
});

/*
参数说明:
{
  title: '', //可选,字符串类型,播放列表名称,显示在标题栏上
  items: [   //必须,视频列表清单数组
    {        //以上 play 方式1, 2, 3 播放参数的任意组合
    },
    ...
  ],
  playDefaultIndex: 0 //可选,默认开始播放 items 列表中的视频序号
}
*/

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

play 全屏播放:保持当前屏幕方向不变 APP接入视立方播放器

play 全屏播放:保持当前屏幕方向不变 APP接入视立方播放器

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

核心代码示例,详情参阅demo

//保持当前屏幕方向(不强制横屏)keepOrientation: true
//请参考 全屏播放方式一 的参数说明
jsBridge.txVideo.play({
  url        : 'https://734.cdn-vod.huaweicloud.com/asset/c4aec16ec296cb8964f80845000cb958/play_video/fcb8827219c07153131eff228583e5a1_H.264_1280X720_HEAACV1_1500.mp4',
  title      : '保持当前屏幕方向',
  qualityName: '超清',
  keepOrientation: true,
  loop       : true
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//保持当前屏幕方向(不强制横屏)keepOrientation: true
//请参考 全屏播放方式一 的参数说明
jsBridge.txVideo.play({
  url        : 'https://734.cdn-vod.huaweicloud.com/asset/c4aec16ec296cb8964f80845000cb958/play_video/fcb8827219c07153131eff228583e5a1_H.264_1280X720_HEAACV1_1500.mp4',
  title      : '保持当前屏幕方向',
  qualityName: '超清',
  keepOrientation: true,
  loop       : true
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//保持当前屏幕方向(不强制横屏)keepOrientation: true
//请参考 全屏播放方式一 的参数说明
jsBridge.txVideo.play({
  url        : 'https://734.cdn-vod.huaweicloud.com/asset/c4aec16ec296cb8964f80845000cb958/play_video/fcb8827219c07153131eff228583e5a1_H.264_1280X720_HEAACV1_1500.mp4',
  title      : '保持当前屏幕方向',
  qualityName: '超清',
  keepOrientation: true,
  loop       : true
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

play 全屏播放 方式2:多码率 URL 链接 APP开发接入视立方播放器

play 全屏播放 方式2:多码率 URL 链接 APP开发接入视立方播放器

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

核心代码示例,详情参阅demo

//方式2:多码率 URL 链接
jsBridge.txVideo.play({
  multiURLs       : [
    {
      url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f10.mp4',
      qualityName: '流畅'
    },
    {
      url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f20.mp4',
      qualityName: '标清'
    },
    {
      url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f30.mp4',
      qualityName: '高清'
    }
  ],
  title           : '方式2:多码率 URL 链接',
  playDefaultIndex: 1
});

/*
参数说明:
{
  multiURLs       : [   //必须,多码率数组
    {
      url        : '',  //必须,字符串类型,视频链接
      qualityName: ''   //必须,字符串类型,码率名称(如 标清/高清/超清/1080P/4K 等)
    },
    ...
  ],
  title           : '', //可选,字符串类型,视频名称,显示在 UI 上
  playDefaultIndex: 0   //可选,数字类型,默认播放码率的 index,即 multiURLs 中从0开始的索引号
}
*/

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//方式2:多码率 URL 链接
jsBridge.txVideo.play({
  multiURLs       : [
    {
      url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f10.mp4',
      qualityName: '流畅'
    },
    {
      url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f20.mp4',
      qualityName: '标清'
    },
    {
      url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f30.mp4',
      qualityName: '高清'
    }
  ],
  title           : '方式2:多码率 URL 链接',
  playDefaultIndex: 1
});

/*
参数说明:
{
  multiURLs       : [   //必须,多码率数组
    {
      url        : '',  //必须,字符串类型,视频链接
      qualityName: ''   //必须,字符串类型,码率名称(如 标清/高清/超清/1080P/4K 等)
    },
    ...
  ],
  title           : '', //可选,字符串类型,视频名称,显示在 UI 上
  playDefaultIndex: 0   //可选,数字类型,默认播放码率的 index,即 multiURLs 中从0开始的索引号
}
*/

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//方式2:多码率 URL 链接
jsBridge.txVideo.play({
  multiURLs       : [
    {
      url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f10.mp4',
      qualityName: '流畅'
    },
    {
      url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f20.mp4',
      qualityName: '标清'
    },
    {
      url        : 'http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f30.mp4',
      qualityName: '高清'
    }
  ],
  title           : '方式2:多码率 URL 链接',
  playDefaultIndex: 1
});

/*
参数说明:
{
  multiURLs       : [   //必须,多码率数组
    {
      url        : '',  //必须,字符串类型,视频链接
      qualityName: ''   //必须,字符串类型,码率名称(如 标清/高清/超清/1080P/4K 等)
    },
    ...
  ],
  title           : '', //可选,字符串类型,视频名称,显示在 UI 上
  playDefaultIndex: 0   //可选,数字类型,默认播放码率的 index,即 multiURLs 中从0开始的索引号
}
*/

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

play 全屏播放 方式1:URL 链接 – 不占用刘海区域 APP开发接入视立方播放器

play 全屏播放 方式1:URL 链接 – 不占用刘海区域 APP开发接入视立方播放器

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

核心代码示例,详情参阅demo

//不占用刘海区域
jsBridge.txVideo.play({
  url   : 'http://player.alicdn.com/video/editor.mp4',
  title : '不占用刘海(凹凸异形屏)区域',
  cutout: true
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//不占用刘海区域
jsBridge.txVideo.play({
  url   : 'http://player.alicdn.com/video/editor.mp4',
  title : '不占用刘海(凹凸异形屏)区域',
  cutout: true
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//不占用刘海区域
jsBridge.txVideo.play({
  url   : 'http://player.alicdn.com/video/editor.mp4',
  title : '不占用刘海(凹凸异形屏)区域',
  cutout: true
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

play 全屏播放 方式1:URL 链接 APP开发接入视立方播放器

play 全屏播放 方式1:URL 链接 APP开发接入视立方播放器

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

核心代码示例,详情参阅demo

//方式1:URL 链接
jsBridge.txVideo.play({
  url        : 'http://player.alicdn.com/video/editor.mp4',
  title      : '方式1:URL 链接',
  //数字,播放方式
  //0 自动播放
  //1 手动播放
  //2 预加载
  playAction : 0,
  //字符串,封面图片链接
  coverPictureUrl: "",
  //json 对象,动态水印
  water: {
    //字符串,水印文字
    text: "",
    //文字大小
    size: 30,
    //文字颜色
    color: "#80FFFFFF"
  },
  cutout: false,
  keepOrientation: false,
  loop: true
});

/*
参数说明
{
  url             : '',   //必须,字符串类型,视频链接
  title           : '',   //可选,字符串类型,视频名称,显示在 UI 上
  qualityName     : '',   //可选,字符串类型,码率名称(如 标清/高清/超清/1080P/4K 等)
  playAction      : 0,    //可选,数字类型,播放方式
  coverPictureUrl : "",   //可选,字符串类型,封面图片链接
  water           :       //可选,json 类型,动态水印
  cutout          : '',   //可选,布尔类型,是否保留刘海(凹凸屏)区域,默认 false 即不保留(视频会占用刘海区域)
  keepOrientation : false //可选,布尔类型,是否保持当前屏幕方向(true 保持当前屏幕方向不变,false 切换为横屏),默认 false
  loop            : false //可选,布尔类型,是否循环播放,默认 false
}

以下 方式2、方式3 均支持 keepOrientation 和 loop 参数
*/

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//方式1:URL 链接
jsBridge.txVideo.play({
  url        : 'http://player.alicdn.com/video/editor.mp4',
  title      : '方式1:URL 链接',
  //数字,播放方式
  //0 自动播放
  //1 手动播放
  //2 预加载
  playAction : 0,
  //字符串,封面图片链接
  coverPictureUrl: "",
  //json 对象,动态水印
  water: {
    //字符串,水印文字
    text: "",
    //文字大小
    size: 30,
    //文字颜色
    color: "#80FFFFFF"
  },
  cutout: false,
  keepOrientation: false,
  loop: true
});

/*
参数说明
{
  url             : '',   //必须,字符串类型,视频链接
  title           : '',   //可选,字符串类型,视频名称,显示在 UI 上
  qualityName     : '',   //可选,字符串类型,码率名称(如 标清/高清/超清/1080P/4K 等)
  playAction      : 0,    //可选,数字类型,播放方式
  coverPictureUrl : "",   //可选,字符串类型,封面图片链接
  water           :       //可选,json 类型,动态水印
  cutout          : '',   //可选,布尔类型,是否保留刘海(凹凸屏)区域,默认 false 即不保留(视频会占用刘海区域)
  keepOrientation : false //可选,布尔类型,是否保持当前屏幕方向(true 保持当前屏幕方向不变,false 切换为横屏),默认 false
  loop            : false //可选,布尔类型,是否循环播放,默认 false
}

以下 方式2、方式3 均支持 keepOrientation 和 loop 参数
*/

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//方式1:URL 链接
jsBridge.txVideo.play({
  url        : 'http://player.alicdn.com/video/editor.mp4',
  title      : '方式1:URL 链接',
  //数字,播放方式
  //0 自动播放
  //1 手动播放
  //2 预加载
  playAction : 0,
  //字符串,封面图片链接
  coverPictureUrl: "",
  //json 对象,动态水印
  water: {
    //字符串,水印文字
    text: "",
    //文字大小
    size: 30,
    //文字颜色
    color: "#80FFFFFF"
  },
  cutout: false,
  keepOrientation: false,
  loop: true
});

/*
参数说明
{
  url             : '',   //必须,字符串类型,视频链接
  title           : '',   //可选,字符串类型,视频名称,显示在 UI 上
  qualityName     : '',   //可选,字符串类型,码率名称(如 标清/高清/超清/1080P/4K 等)
  playAction      : 0,    //可选,数字类型,播放方式
  coverPictureUrl : "",   //可选,字符串类型,封面图片链接
  water           :       //可选,json 类型,动态水印
  cutout          : '',   //可选,布尔类型,是否保留刘海(凹凸屏)区域,默认 false 即不保留(视频会占用刘海区域)
  keepOrientation : false //可选,布尔类型,是否保持当前屏幕方向(true 保持当前屏幕方向不变,false 切换为横屏),默认 false
  loop            : false //可选,布尔类型,是否循环播放,默认 false
}

以下 方式2、方式3 均支持 keepOrientation 和 loop 参数
*/

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

play 播放本地视频 APP开发接入视立方播放器原生播放视频

play 播放本地视频 APP开发接入视立方播放器原生播放视频

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

请配合 FileSystem 文件系统 插件使用,先将视频下载到本地,使用 fs://… 地址播放。

核心代码示例,详情参阅demo

//播放本地视频
jsBridge.txVideo.play('fs://file/my_dir/f10.mp4');

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//播放本地视频
jsBridge.txVideo.play('fs://file/my_dir/f10.mp4');

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//播放本地视频
jsBridge.txVideo.play('fs://file/my_dir/f10.mp4');

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

play 全屏播放 简单示例 APP开发接入视立方播放器原生播放器

play 全屏播放 简单示例 APP开发接入视立方播放器原生播放器

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

核心代码示例,详情参阅demo

//全屏播放单个视频,直接提供视频链接即可
jsBridge.txVideo.play('http://player.alicdn.com/video/editor.mp4');

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//全屏播放单个视频,直接提供视频链接即可
jsBridge.txVideo.play('http://player.alicdn.com/video/editor.mp4');

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//全屏播放单个视频,直接提供视频链接即可
jsBridge.txVideo.play('http://player.alicdn.com/video/editor.mp4');

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

视立方播放器SDK接入教程

准备工作

  1. 为了您体验到更完整全面的播放器功能,建议您开通 云点播 相关服务,未注册用户可注册账号 试用。若您不使用云点播服务,可略过此步骤,但集成后仅可使用播放器基础能力。
  2. 下载 Android Studio,您可以进入 Android Studio 官网 下载安装,如已下载可略过该步骤。

通过本文你可以学会

  • 如何集成腾讯云视立方 Android 播放器SDK
  • 如何使用播放器 SDK 进行点播播放
  • 如何使用播放器 SDK 底层能力实现更多功能

SDK 集成

步骤1:集成 SDK 开发包

下载和集成 SDK 开发包,请参考同目录下的 SDK 集成指引

步骤2:配置 License 授权

若您已获得相关 License 授权,需在 腾讯云视立方控制台 获取 License URL 和 License Key:

若您暂未获得 License 授权,需先参见 视频播放 License 获取相关授权。

获取到 License 信息后,在调用 SDK 的相关接口前,通过下面的接口初始化 License,建议在 Application 类中进行如下设置:

public class MApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        String licenceURL = ""; // 获取到的 licence url
        String licenceKey = ""; // 获取到的 licence key
        TXLiveBase.getInstance().setLicence(this, licenceURL, licenceKey);
        TXLiveBase.setListener(new TXLiveBaseListener() {
            @Override
            public void onLicenceLoaded(int result, String reason) {
                Log.i(TAG, "onLicenceLoaded: result:" + result + ", reason:" + reason);
            }
        });
    }
}

步骤3: 添加 View

SDK 默认提供 TXCloudVideoView 用于视频渲染,我们第一步要做的就是在布局 xml 文件里加入如下一段代码:

<com.tencent.rtmp.ui.TXCloudVideoView
            android:id="@+id/video_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerInParent="true"
            android:visibility="gone"/>

步骤4:创建 Player

接下来创建一个 TXVodPlayer 的对象,并使用 setPlayerView 接口将它与我们刚添加到界面上的 video_view 控件进行关联。

//mPlayerView 即步骤3中添加的视频渲染 view
TXCloudVideoView mPlayerView = findViewById(R.id.video_view);
//创建 player 对象
TXVodPlayer mVodPlayer = new TXVodPlayer(getActivity());
//关联 player 对象与视频渲染 view
mVodPlayer.setPlayerView(mPlayerView);

步骤5:启动播放

TXVodPlayer 支持两种播放模式,您可以根据需要自行选择:

TXVodPlayer 内部会自动识别播放协议,您只需要将您的播放 URL 传给 startVodPlay 函数即可。

// 播放 URL 视频资源
String url = "http://1252463788.vod2.myqcloud.com/xxxxx/v.f20.mp4";
mVodPlayer.startVodPlay(url); 


// 播放本地视频资源
String localFile = "/sdcard/video.mp4";
mVodPlayer.startVodPlay(localFile); 

步骤6:结束播放

结束播放时记得销毁 view 控件,尤其是在下次 startVodPlay 之前,否则会产生大量的内存泄露以及闪屏问题。

同时,在退出播放界面时,记得一定要调用渲染 View 的onDestroy()函数,否则可能会产生内存泄露和“Receiver not registered”报警。

@Override
public void onDestroy() {
    super.onDestroy();
    mVodPlayer.stopPlay(true); // true 代表清除最后一帧画面
    mPlayerView.onDestroy(); 
}

说明:

stopPlay 的布尔型参数含义为:“是否清除最后一帧画面”。早期版本的 RTMP SDK 的直播播放器没有 pause 的概念,所以通过这个布尔值来控制最后一帧画面的清除。

如果是点播播放结束后,也想保留最后一帧画面,您可以在收到播放结束事件后什么也不做,默认停在最后一帧。