亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2019年08月08日 11:48:46   作者:智昕  
這篇文章主要介紹了微信小程序嵌入騰訊視頻源過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

首先我們有一個接口可以獲取動態(tài)的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

我需要的是用戶可以在后臺發(fā)布時候只需要復制視頻鏈接填入即可

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環(huán)境下播放</view>
</view>

在小程序中使用發(fā)現 需要綁定授權域名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()方法來轉換視頻地址就行了

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

相關文章

  • layui之select的option疊加問題的解決方法

    layui之select的option疊加問題的解決方法

    下面小編就為大家分享一篇layui之select的option疊加問題的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • js實現鼠標拖拽多選功能示例

    js實現鼠標拖拽多選功能示例

    本篇文章主要介紹了js實現鼠標拖拽多選功能示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Bootstrap table 定制提示語的加載過程

    Bootstrap table 定制提示語的加載過程

    bootstrap-table是在bootstrap-table的基礎上寫出來的,專門用于顯示數據的表格插件。這篇文章主要介紹了Bootstrap table 定制提示語,需要的朋友可以參考下
    2017-02-02
  • select、radio表單回顯功能實現避免使用jquery載入賦值

    select、radio表單回顯功能實現避免使用jquery載入賦值

    select、radio表單回顯避免使用jquery載入賦值,最好的做法是:在jsp頁面進行邏輯判斷,具體實現如下,感興趣的朋友可以參考下哈,希望對大家有所幫助
    2013-06-06
  • js實現表格拖動選項

    js實現表格拖動選項

    這篇文章主要為大家詳細介紹了原生js實現表格拖動選項,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • 在JS中a標簽加入單擊事件屏蔽href跳轉頁面

    在JS中a標簽加入單擊事件屏蔽href跳轉頁面

    這篇文章主要介紹了JS中a標簽加入單擊事件屏蔽href跳轉頁面的相關資料,需要的朋友可以參考下
    2016-12-12
  • 原生JS+HTML5實現跟隨鼠標一起流動的粒子動畫效果

    原生JS+HTML5實現跟隨鼠標一起流動的粒子動畫效果

    這篇文章主要介紹了原生JS+HTML5實現跟隨鼠標一起流動的粒子動畫效果,涉及javascript事件響應、數值運算及頁面元素屬性動態(tài)操作相關實現技巧,需要的朋友可以參考下
    2018-05-05
  • JavaScript中保留兩位小數的方法總結

    JavaScript中保留兩位小數的方法總結

    這篇文章主要把相關保留兩位小數的方法總結了一下,不同的場景用不同的方法,即用即取,文中的示例代碼講解詳細,?感興趣的小伙伴可以了解一下
    2023-06-06
  • js實現星星海特效的示例

    js實現星星海特效的示例

    這篇文章主要介紹了js實現星星海特效的示例,幫助大家制作網頁特效,感興趣的朋友可以了解下
    2020-09-09
  • 記錄微信小程序 height: calc(xx - xx);無效問題

    記錄微信小程序 height: calc(xx - xx);無效問題

    這篇文章主要介紹了微信小程序 - height: calc(xx - xx);無效 問題,文中給大家擴展介紹下jquery點擊添加樣式,再次點擊移除樣式的實例代碼,需要的朋友可以參考下
    2019-12-12

最新評論