编辑: ZCYTheFirst | 2019-07-16 |
// 设置小窗显示的播放器 SuperPlayerWindowShared.backController = self;
// 设置返回的view controller [SuperPlayerWindowShared show];
// 悬浮显示 移除播放器 当不需要播放器时,调用resetPlayer清理播放器内部状态,防止干扰下次播放. 超级播放器 产品文档 版权所有:腾讯云计算(北京)有限责任公司 第7 共11页[_playerView resetPlayer];
//非常重要 超级播放器 产品文档 版权所有:腾讯云计算(北京)有限责任公司 第8 共11页 功能介绍 超级播放器是基于 TXVodPlayer 实现的集视频信息拉取、横竖屏切换、清晰度选择、弹幕等功能于一体的解决方 案,且完全开源.帮助您在短时间内,打造一个媲美市面上各种流行视频App的播放体验. 接入准备 1. 下载 SDK + Demo 开发包,下载地址为(Android). 2. 播放器的 UI 部分代码开源,开源代码位于 app/src/main/java/com/tencent/liteav/demo/play/ 文件夹中, 图片资源位于 app/src/main/res/drawable-xxhdpi/ 文件夹中,您需要先将这两部分拷贝的您的App工程中. 3. Demo 的弹幕集成了第三方开源库 DanmakuFlameMaster ,可以自行在 github 获取,也可如 Demo 在build.gradle示例配置 超级播放器(Android) 最近更新时间:2018-08-10 16:23:07 超级播放器 产品文档 版权所有:腾讯云计算(北京)有限责任公司 第9 共11页compile 'com.github.ctiao:DanmakuFlameMaster:0.5.3' 创建播放器 超级播放器主类为 SuperVideoPlayer ,您需求先创建它. mSuperVideoPlayer = (SuperVideoPlayer) findViewById(R.id.video_player_item_1);
mSuperVideoPlayer.setVideoPlayCallback(mVideoPlayCallback);
视频信息获取 与播放普通url地址不同,获取视频信息需要通过fileId方式. TXPlayerAuthParams *p = [TXPlayerAuthParams new];
p.appId = 1252463788;
p.fileId = @"4564972819220421305";
TXPlayerAuthBuilder authBuilder = new TXPlayerAuthBuilder();
try { authBuilder.setAppId(Integer.parseInt(playerAuthParam.appId));
authBuilder.setFileId(playerAuthParam.fileId);
mTXPlayerGetInfo.startPlay(authBuilder);
} catch (NumberFormatException e) { Toast.makeText(mContext, "请输入正确的AppId", 0).show();
} fileId在一般是在视频上传后,由服务器返回: 1. 客户端视频发布后,服务器会返回fileId到客户端 2. 服务端视频上传,在确认上传的通知中包含对应的fileId 如果文件已存在腾讯云,则可以进入 点播视频管理 ,找到对应的文件.点开后在右侧视频详情中,可以看到appId 和fileId. 超级播放器 产品文档 版权所有:腾讯云计算(北京)有限责任公司 第10 共11页SDK在请求成功后,将视频信息将以事件的形式通知到上层 在Demo中SuperVideoPlayer中示例 切换视频 mTXPlayerGetInfo = new TXVodPlayer(context);
mTxplayer.setVodListener(mPlayVodListener);
mTXPlayerGetInfo.setVodListener(mGetVodInfoListener);
/** * 获取fileId对应的视频信息 */ private ITXVodPlayListener mGetVodInfoListener = new ITXVodPlayListener() { @Override public void onPlayEvent(TXVodPlayer player, int event, Bundle param) { String playEventLog = "receive event: " + event param.getString(TXLiveConstants.EVT_DESCR Log.d(TAG, playEventLog);
if (event == TXLiveConstants.PLAY_EVT_GET_PLAYINFO_SUCC) { // 获取点播文件信息成功 VodRspData data = new VodRspData();
data.cover = param.getString(TXLiveConstants.EVT_PLAY_COVER_URL);
data.duration = param.getInt(TXLiveConstants.EVT_PLAY_DURATION);
data.url = param.getString(TXLiveConstants.EVT_PLAY_URL);
if (mVideoPlayCallback != null) { mVideoPlayCallback.onLoadVideoInfo(data);