国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 小程序 > 正文

微信小程序嵌入騰訊視頻源過程詳解

2020-03-21 15:26:09
字體:
來源:轉載
供稿:網友

首先我們有一個接口可以獲取動態的vkey

https://vv.video.qq.com/getinfo?otype=json&appver=3.2.19.333&platform=11&defnpayver=1&vid=

獲取的數據格式是這樣的

QZOutputJson={"dltype":1,"exem":0,"fl":{"cnt":2,"fi":[{"id":100701,"name":"msd","lmt":0,"sb":1,"cname":"流暢;(180P)","br":29,"drm":0,"video":1,"fs":35776912,"sl":1},{"id":2,"name":"mp4","lmt":0,"sb":1,"cname":"高清;(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":{"cnt":0},"tm":1503504934,"vl":{"cnt":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.com/AuRJoSSIabzpOb1RsXSviFl-nYwRDSZoFU5OpwBhfrAk/","vt":200,"dtc":0,"dt":2},{"url":"http://113.105.167.155/vhot2.qqvideo.tc.qq.com/AuRJoSSIabzpOb1RsXSviFl-nYwRDSZoFU5OpwBhfrAk/","vt":200,"dtc":0,"dt":2},{"url":"http://113.105.167.154/vhot2.qqvideo.tc.qq.com/AuRJoSSIabzpOb1RsXSviFl-nYwRDSZoFU5OpwBhfrAk/","vt":200,"dtc":0,"dt":2},{"url":"http://video.dispatch.tc.qq.com/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 是騰訊播放地址例如:https://v.qq.com/x/page/c0799d0jruj.html  所以稍加改造后,代碼如下

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.com/getinfo?otype=json&appver=3.2.19.333&platform=11&defnpayver=1&vid=' + vid;  wx.request({   url: urlString,   success: 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.com 我們無法上傳驗證文件所以無法綁定,因為后面我在小程序接口中使用PHP方法獲取視頻地址

//騰訊視頻獲取實際播放放地址function getVideoInfo($video){  $vid = "";  //正則表達式截取vid  preg_match_all("/(?://page//)(.*)(?:/.html)/i",$video, $vid);  $vid = $vid[1][0];  $urlString = 'https://vv.video.qq.com/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_setopt($curl_handle, CURLOPT_URL, $url);    curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT,2);    curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER,1);    curl_setopt($curl_handle, CURLOPT_FAILONERROR,1);    curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Trackback Spam Check'); //引用垃圾郵件檢查    $file_content = curl_exec($curl_handle);    curl_close($curl_handle);  } else {    $file_content = '';  }  return $file_content;}

因此在小程序接口上我們使用getVideoInfo()方法來轉換視頻地址就行了

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 望城县| 新田县| 兰坪| 锦屏县| 中宁县| 博罗县| 成安县| 丰镇市| 石林| 浮山县| 扶余县| 疏附县| 久治县| 武隆县| 团风县| 曲沃县| 靖远县| 通海县| 文成县| 疏勒县| 怀集县| 泗洪县| 龙山县| 榆林市| 咸宁市| 芜湖县| 武夷山市| 文安县| 夏邑县| 桓台县| 泰顺县| 津南区| 开远市| 涟源市| 连南| 朔州市| 赤城县| 澜沧| 天峻县| 堆龙德庆县| 普定县|