直播观看小程序开发(仅直播视频播放)
播放界面

开发前准备
1.小程序微信开发者后台设置-开发设置-服务器域名中配置 [request合法域名]

开始开发
1.获取频道直播播放地址
index.wxml
<view class="video-box">
<live-player id="polyvLiveVideo" class="vp-v" src="{{video.src}}" autoplay></live-player>
</view>
index.js
//引用polyvlive.js
import PolyvLive from '../../utils/polyvlive.min.js';
// 设置频道信息
// 直播后台开发设置 - 开发者信息 userId(账号ID)
const liveUid = "xxx";
// 频道号
const liveVid = "xxx";
const polyvLive = new PolyvLive();
polyvLive.getVideo({
uid: liveUid,
vid: liveVid,
// 日志统计: 场次ID
forceSessionId: true,
// 日志统计
statistics: {
// 观众账号
param1: Date.now(),
// 观众昵称
param2: 'polyv'
},
success: (videoInfo) => {
// 调用getVideo回调
},
onApiStatus: (status)=>{
// 直播状态回调
}
});
polyvLive.getLatestLiveUrl((videoInfo)=>{
this.setPlayerSrc(videoInfo);
});
setPlayerSrc(videoInfo) {
this.setData({
video: {
src: videoInfo.flvSrc,
poster: videoInfo.poster
}
});
}
2.选项说明
uid
类型:String 说明:直播后台开发设置 - 开发者信息 userId(账号ID)
vid
类型:String 说明:直播频道id
forceSessionId
类型:Boolean 说明:日志统计是否包含场次id
statistics
类型:object 说明:播放日志参数,可设置值并且直播后台观看日志查询中显示对应字段名称如下
参数值可选
说明
param1
观众账号
param2
观众昵称
success(videoInfo)
类型:Function 说明:获取视频信息成功时触发 参数:videoInfo 参数类型:object 参数说明:
参数
参数说明
src
视频m3u8播放地址,获取成功后设置为video组件的src
flvSrc
视频flv播放地址,获取成功后设置为live-player组件的src
poster
视频封面
title
视频标题
waitImage
暖场图片/暖场视频,以返回链接后缀判断图片/视频类型
logoImage
logo图片地址
logoHref
logo的点击跳转链接
logoPosition
logo位于播放器位置
logoOpacity
logo透明度
onApiStatus(status)
类型:Function 说明:获取视频直播/结束状态 参数:status 参数类型:String 参数说明:
参数
参数说明
live
直播正在进行
end
直播结束
3.销毁播放器
//页面处理函数
onUnload() {
polyvLive.destroy();
}
注意事项
使用live-player组件有类目限制,需要先通过类目审核 然后需要在小程序管理后台,“设置”-“接口设置”中自助开通该组件权限
sdk默认使用live-player组件,使用flv拉流地址
setPlayerSrc(videoInfo) {
this.setData({
video: {
src: videoInfo.flvSrc, // videoInfo.flvSrc返回flv地址
poster: videoInfo.poster
}
});
}
如果所用小程序组件为video,则需要设置播放地址为m3u8
<view class="video-wrap">
<view class="video-box">
<video id="polyvLiveVideo" class="vp-v" src="{{video.src}}" controls autoplay></video>
</view>
</view>
setPlayerSrc(videoInfo) {
this.setData({
video: {
src: videoInfo.src, // videoInfo.src返回m3u8地址
poster: videoInfo.poster
}
});
}
Last updated
Was this helpful?