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

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

画面调整

  • 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);

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 全屏播放 简单示例 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 的概念,所以通过这个布尔值来控制最后一帧画面的清除。

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

影视类(包含播放器类、电台类)APP上架应用商店资质影视类(包含播放器类、电台类)APP上架应用商店要求?

影视类(包含播放器类、电台类)APP上架应用商店资质影视类(包含播放器类、电台类)APP上架应用商店要求?

1.企业官网截图或产品官网 ICP 备案截图(查询地址: http://www.beian.miit.gov.cn/publish/query/indexFirst.action,搜索官网后截图上传)

2.软件著作权证明

3.《信息网络传播视听节目许可证》或《视频、音频来源授权证明》

4.《免责承诺函》

APP开发接入原生播放器 腾讯超级播放器 play 全屏播放 简单示例

用做网页的技术做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

play 全屏播放 简单示例

核心代码示例,详情参阅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>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->