本文主要是介绍小程序处理腾讯视频,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.思路
a. 请求视频详情接口
b. 用服务器返回的url生成vid
c. 获取唯一标识,本项目中采用用户uuid
d. 用vid和uuid请求处理视频接口,获得解析之后的视频地址,这里需要判断视频解析是否成功,callback.s == 'o' 即为解析成功,callback.s == 'f' 即为解析失败
e. 将解析之后的地址绑定到页面结构上
2. 代码
Page({
data: {
videoId: '', //该视频的id
listData: [], //视频详情数据
isQiNiu: null, //是否需要调用七牛视频
},
onLoad: function (options) {
this.getVideoDetail(options.videoId, () => {
this.dealVideo((isQiNiu, realUrl) => {
if (isQiNiu === false) {
this.data.listData.path = realUrl
this.setData({
listData: this.data.listData
})
} else {
return false
}
})
this.getQiniuVideoUrl()
})
},
// 获取视频详情信息
getVideoDetail (videoId, callback) {
wx.request({
url: yourUrl,
method: 'GET',
header: {
},
data: {
paras: your.paras
},
complete: res => {
if(res.statusCode == 200) {
this.data.listData = res.data.data
this.setData({
listData: this.data.listData
})
callback()
}
}
})
},
//视频播放相关方法
getVid() {
var url = this.data.listData.path
if (url.indexOf('%2F') === -1) {
var splitdata = url.split('/');
} else {
var splitdata = url.split('%2F');
}
var length = splitdata.length;
var vid = splitdata[length - 1].split('.')[0];
return vid;
},
getUuid() {
// 用户信息自行获取
var uuid = JSON.parse(wx.getStorageSync('userinfo')).id
return uuid
},
dealVideo(dealVideoCallback) {
var vid = this.getVid()
var uuid = this.getUuid()
wx.request({
url: "https://av.video.qq.com/getinfo?callback=JsonpCallBack&&charge=0&defaultfmt=auto&otype=json&guid=" + uuid + "&platform=11001&sdtfrom=v1103&defnpayver=0&appVer=3.3.321&host=v.qq.com&ehost=https%3A%2F%2Fm.v.qq.com%2F&_rnd=1514372402&spwm=4&vid=" + vid,
header: {
},
success: (res) => {
var htmlData = res.data.slice(14, -1)
var callbackObj = JSON.parse(htmlData);
if(callbackObj.s === 'o') {
this.data.isQiNiu = false
var viData = callbackObj['vl']['vi'][0]
var fn = viData['fn'];
var vkey = viData['fvkey'];
var title = viData['ti'];
var preUrl = viData['ul']['ui'][0]['url'];
var realUrl = preUrl + fn + "?vkey=" + vkey;
} else {
this.sdata.isQiNiu = true
}
dealVideoCallback(this.data.isQiNiu, realUrl)
},
})
},
// 获取七牛视频资源
getQiniuVideoUrl() {
console.log('this is qiniu api')
},
})
这篇关于小程序处理腾讯视频的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!