打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关于小程序video组件视频url获取方法

小程序真是一步一坑,最近在做一个视频播放组件,需要一些视频的url地址,结果发现直接拿腾讯视频中url根本不行,在网上看了好多帖子说的也不是特别详细,结果自己用了一天时间研究整理了一下,写了一个获取可用url的方法。希望能帮助到大家

先看效果

第一步 :

我们从腾讯视频网站上找到一个视频网页的连接,具体步骤就是打开视频点击分享,那个分享的链接就是我们要的

两个都可以复制下来  复制下来后是这样子 我们只需要src里的这段:

<embed src='https://imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400&v=20161117&vid=h056607xye8&auto=0' allowFullScreen = 'true' quality = 'high' width = '480' height = '400' align = 'middle' allowScriptAccess = 'always' type = 'application/x-shockwave-flash' > </embed> 

第二步 :

我们把上面链接的vid放到以下接口地址上 

http://vv.video.qq.com/getinfo?vid=h056607xye8&platform=101001&charge=0&otype=json

直接访问返回的是

QZOutputJson={'dltype':1,'exem':0,'fl':{'cnt':2,'fi':[{'id':100701,'name':'msd','lmt':0,'sb':1,'cname':'标清;(270P)','br':28,'profile':2,'drm':0,'video':1,'audio':1,'fs':5323273,'sl':1},{'id':2,'name':'mp4','lmt':0,'sb':1,'cname':'高清;(480P)','br':33,'profile':1,'drm':0,'video':1,'audio':1,'fs':4350801,'sl':0}]},'hs':0,'ip':'120.84.169.234','ls':0,'preview':179,'s':'o','sfl':{'cnt':0},'tm':1534563720,'vl':{'cnt':1,'vi':[{'br':28,'ch':0,'cl':{'fc':0,'keyid':'h056607xye8.100701'},'ct':21600,'drm':0,'dsb':0,'fmd5':'48ffbd2a6a51b5123ab39562d52ff4a3','fn':'h056607xye8.m701.mp4','fs':5323273,'fst':5,'fvkey':'602E36F78C39F1BDAD437852D1AD4761454FB879425EA85B20D91AB87F2FEA02216FA619E5F6017F83EAF28C9DDD9C1DB46E5122A42AB9E21B632BF21D6A9150DE28464DAB71EF2BA8B6C63A795E7BB69027B1BB2EA66C76B9080AD6F4923C9ADF08616E6CC3F36B','head':0,'hevc':0,'iflag':0,'level':0,'lnk':'h056607xye8','logo':1,'mst':8,'pl':null,'share':1,'sp':0,'st':2,'tail':0,'td':'179.797','ti':'微信小程序是什么 微信小程序宣传片','tie':0,'type':3,'ul':{'ui':[{'url':'http://ugcbsy.qq.com/uwMRJfz-r5jAYaQXGdGnC2_ppdhgmrDlPaRvaV7F2Ic/','vt':136,'dtc':0,'dt':2},{'url':'http://157.255.154.155/vhot2.qqvideo.tc.qq.com/Ax3eEHRro27R5XwVX92V7HgB5BpHLShvfK_u4luWUVLI/','vt':200,'dtc':0,'dt':2},{'url':'http://ugcsjy.qq.com/uwMRJfz-r5jAYaQXGdGnAWU8PgBpGqZogfytEoZCSHk/','vt':176,'dtc':0,'dt':2},{'url':'http://video.dispatch.tc.qq.com/','vt':0,'dtc':0,'dt':2}]},'vh':272,'vid':'h056607xye8','videotype':0,'vr':0,'vst':2,'vw':480,'wh':1.7647059,'wl':{'wi':[{'id':19,'x':14,'y':14,'w':85,'h':27,'a':100,'md5':'dcc9dc5c478c4100ea2817c5e6020f26','url':'http://puui.qpic.cn/vcolumn_pic/0/logo_qing_xi_color_336_108.png/0','surl':'https://puui.qpic.cn/vcolumn_pic/0/logo_qing_xi_color_336_108.png/0'}]},'uptime':1509094808,'fvideo':0,'fvpint':0}]}};

第三步:

 我们把前面的QZOutputJson=跟最后的 ; 过滤掉,得到一个json字符串了。解析它变成json对象,然后把标红的三个部分组合一下,顺序是 

url + fn + '?vkey=' + fvkey 

例如上面这串,组合下来就是 

https://ugcydzd.qq.com/uwMRJfz-r5jAYaQXGdGnC2_ppdhgmrDlPaRvaV7F2Ic/h056607xye8.m701.mp4?vkey=21BBAAD6135B6FE0353345BECC2CB66CA1395F25DC3D3D395BB2901BAA23DEB402854625B18E37A8D980AD0E7794472608E6537F82D0346BCD8D996D62B2504BD72B30F14A4DFFDCEC0094D575B8550E6D2FA4B0E38994275751FBA27AD481100F1E837199DC1B69

这个地址就可以直接放在小程序的video组件里面播放了。

 具体过滤方法请往下看

<video src='{{url}}' style='width:100%'></video>
  1. Page({
  2. /**
  3. * 页面的初始数据
  4. */
  5. data: {
  6. url:''//video组件可用的url链接
  7. },
  8. /**
  9. * 生命周期函数--监听页面加载
  10. */
  11. onLoad: function (options) {
  12. var _this = this
  13. var url = '这里就是你通过分享链接拿到的腾讯视频url'
  14. //通过正则表达式拿到分享地址中vid的值
  15. if (url.includes('vid=')) {
  16. var vid = takeParam(url, 'vid');
  17. }
  18. //此函数为获取url中指定参数的函数
  19. function takeParam(url, key) {
  20. var a = url;
  21. var b = key;
  22. try {
  23. var reg = new RegExp(b + '=[0-9a-zA-z-_]{0,}');
  24. return reg.exec(a).toString().split('=')[1];
  25. } catch (e) {
  26. console.log(e);
  27. console.log('正则表达式取参数值错误' + key);
  28. }
  29. return '';
  30. }
  31. //通过以下接口拿到视频的详细参数 通过正则拼装成一个可以在小程序中使用的URl
  32. wx.request({
  33. url: 'https://vv.video.qq.com/getinfo?vid=' + vid + '&platform=101001&charge=0&otype=json',
  34. method: 'get',
  35. header: {
  36. 'Content-Type': 'application/x-www-form-urlencoded'
  37. },
  38. success: function (res) {
  39. var dataJson = res.data.replace(/QZOutputJson=/, '') + 'qwe';
  40. var dataJson1 = dataJson.replace(/;qwe/, '');
  41. var data = JSON.parse(dataJson1);
  42. var url = data.vl.vi[0].ul.ui[0].url
  43. var url2 = url.replace(/http/, 'https'); //把'http'替换为https
  44. var fu = data.vl.vi[0].fn
  45. var fvkey = data.vl.vi[0].fvkey
  46. var a = url2 + fu + '?vkey=' + fvkey
  47. _this.setData({
  48. url: a
  49. })
  50. console.log(a)
  51. }
  52. })
  53. },
  54. })

 这里要说明一点 如果把我上面这个获取详细url参数的接口写在小程序中就必须要把他配置为合法域名 不然会导致已上线的小程序视频无法正常播放 不上线的话只做本地测试可以忽略 具体操作如下:

登录你的微信公众平台 看下图

好了以上就是获取小程序video 组件 url链接的详细步骤,有不懂的 或者更好的方法欢迎小伙伴留言

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【新提醒】免费无广告解析 教程
利用聚合数据API快速开发的微信小程序
Python实战-采集斗鱼舞蹈区美女~(批量采集)
「腾讯视频」小程序插件:免费又好用,旨在为开发者省下推广费!
微信小程序开发之webview组件内网页实现微信原生支付
微信小程序跳转到H5页面实战篇
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服