微信小程序嵌入腾讯视频源过程详解
网络编程 2021-07-04 15:51www.168986.cn编程入门
这篇文章主要介绍了微信小程序嵌入腾讯视频源过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
我们有一个接口可以获取动态的vkey
https://vv.video.qq./getinfo?otype=json&appver=3.2.19.333&platform=11&defnpayver=1&vid=
获取的数据格式是这样的
QZOutputJson={"dltype":1,"exem":0,"fl":{"t":2,"fi":[{"id":100701,"name":"msd","lmt":0,"sb":1,"ame":"流畅;(180P)","br":29,"drm":0,"video":1,"fs":35776912,"sl":1},{"id":2,"name":"mp4","lmt":0,"sb":1,"ame":"高清;(480P)","br":34,"drm":0,"video":1,"fs":74129447,"sl":0}]},"hs":0,"ip":"119.137.195.73","ls":0,"preview":1186,"s":"o","sfl":{"t":0},"tm":1503504934,"vl":{"t":1,"vi":[{"br":29,"ch":0,"cl":{"fc":0,"keyid":"b0136et5ztz.100701"},"ct":21600,"drm":0,"dsb":0,"fmd5":"87d7d2ef15f55a456bcdb359dd580795","fn":"b0136et5ztz.m701.mp4","fs":35776912,"fst":5,"fvkey":"EBB1F5C7B5100A3DA80802119E3FF9D0AAE3DA6670594D507B02AD489CF21D2868B0803B76F7434CE51B5C70D75554D68ED24A49EE3DE4791E0BA58444A77756FA7CBC6FB1B3E579F44F87AFB1CB79E8522A48576A4949037A5EDC1C842A9EF7536E090EBD018BB2","head":0,"hevc":0,"iflag":0,"level":0,"lnk":"b0136et5ztz","logo":1,"mst":8,"pl":null,"share":1,"sp":0,"st":2,"tail":0,"td":"1186.92","ti":"解密潮汕多神信仰","type":3,"ul":{"ui":[{"url":"http://113.105.167.156/vhot2.qqvideo.tc.qq./AuRJoSSIabzpOb1RsXSviFl-nYwRDSZoFU5OpwBhfrAk/","vt":200,"dtc":0,"dt":2},{"url":"http://113.105.167.155/vhot2.qqvideo.tc.qq./AuRJoSSIabzpOb1RsXSviFl-nYwRDSZoFU5OpwBhfrAk/","vt":200,"dtc":0,"dt":2},{"url":"http://113.105.167.154/vhot2.qqvideo.tc.qq./AuRJoSSIabzpOb1RsXSviFl-nYwRDSZoFU5OpwBhfrAk/","vt":200,"dtc":0,"dt":2},{"url":"http://video.dispatch.tc.qq./62098754/","vt":0,"dtc":0,"dt":2}]},"vh":272,"vid":"b0136et5ztz","videotype":27,"vr":0,"vst":2,"vw":480,"wh":1.7647059,"wl":{"wi":[]}}]}};
需要的视频播放地址的格式是这样的
url + fn + '?vkey=' + fvkey
我需要的是用户可以在后台发布时候只需要复制视频链接填入即可
vedio 是腾讯播放地址例如 所以稍加改造后,代码如下
function getVideoInfo(vedio) { if (!vedio) return var vid = vedio.substring(vedio.lastIndexOf('/') + 1, vedio.lastIndexOf('html') - 1); var that = this; var urlString = 'https://vv.video.qq./getinfo?otype=json&appver=3.2.19.333&platform=11&defnpayver=1&vid=' + vid; wx.request({ url: urlString, suess: function (res) { var dataJson = res.data.replace(/QZOutputJson=/, '') + "qwe"; var data = JSON.parse(dataJson); var fileName = data['vl']['vi'][0]['fn']; var fvkey = data['vl']['vi'][0]['fvkey']; var host = data['vl']['vi'][0]['ul']['ui'][2]['url'] that.setData({ videoUrl: host + fileName + '?vkey=' + fvkey }); } }) }
生成的videoUrl即是我需要的最终可以直接插入播放的视频
写入wxml
<view class='video'> <video src='{{videoUrl}}' bindplay='playVideo' id="myVideo"></video> <view class='tips'>建议WIFI环境下播放</view> </view>
在小程序中使用发现 需要绑定授权域名https://vv.video.qq. 我们无法上传验证文件所以无法绑定,因为后面我在小程序接口中使用PHP方法获取视频地址
//腾讯视频获取实际播放放地址 function getVideoInfo($video){ $vid = ""; //正则表达式截取vid preg_match_all("/(?:\/page\/)(.)(?:\.html)/i",$video, $vid); $vid = $vid[1][0]; $urlString = 'https://vv.video.qq./getinfo?otype=json&appver=3.2.19.333&platform=11&defnpayver=1&vid='.$vid; $res = fopen_url($urlString); //字符串截取json $json = str_replace("QZOutputJson=","",$res); $json = str_replace("}}]}};","}}]}}",$json); //json转换为数组 $json = json_decode($json,true); $fileName = $json['vl']['vi'][0]['fn']; $fvkey = $json['vl']['vi'][0]['fvkey']; $host = $json['vl']['vi'][0]['ul']['ui'][2]['url']; $url = $host.$fileName.'?vkey='.$fvkey; return $url; } / 获取远程文件内容 @param $url 文件http地址 / function fopen_url($url) { if (function_exists('file_get_contents')) { $file_content = @file_get_contents($url); } elseif (ini_get('allow_url_fopen') && ($file = @fopen($url, 'rb'))){ $i = 0; while (!feof($file) && $i++ < 1000) { $file_content .= strtolower(fread($file, 4096)); } fclose($file); } elseif (function_exists('curl_init')) { $curl_handle = curl_init(); curl_set($curl_handle, CURLOPT_URL, $url); curl_set($curl_handle, CURLOPT_CONNECTTIMEOUT,2); curl_set($curl_handle, CURLOPT_RETURNTRANSFER,1); curl_set($curl_handle, CURLOPT_FAILONERROR,1); curl_set($curl_handle, CURLOPT_USERAGENT, 'Trackback Spam Check'); //引用垃圾邮件检查 $file_content = curl_exec($curl_handle); curl_close($curl_handle); } else { $file_content = ''; } return $file_content; }
在小程序接口上我们使用getVideoInfo()方法来转换视频地址就行了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程