腾讯视频的链接地址打开的页面,没有视频文件的地址,怎么在video组件中播放呢。这个需要对链接和页面做一些特别的处理,才能调取视频文件,进行视频播放。热门的还有B站(www.bilibili.com)视频,目前还需要探索。先介绍解析腾讯视频的方法。
- 腾讯视频解析
首先需要一个工具文件,放在utils/qqVideo.js(有需要的可以找我要)
视频播放文件video_player.js
var part_urls = {}; var videoPage; var pageArr = new Array()
import qqVideo from "../../../utils/qqVideo.js"
var app = getApp();
Page({
data: {
vid: 0, videoUrl:"",
},
if (v_videoUrl.substring(0, 16) == "https://v.qq.com") {//转换视频路径,解析转换腾讯视频地址
var v_pathArr = v_videoUrl.split("/"); var len = v_pathArr.length;
// console.log("video_player.getVideoUrl.v_pathArr=" + JSON.stringify(v_pathArr[len - 1]));//v_arr[v_arr.length]
if (len > 1) {
v_pathArr = v_pathArr[len - 1].split("."); len = v_pathArr.length;
if (len > 0) {
var v_vid = v_pathArr[0];
console.log("video_player.getVideoUrl.v_vid=" + v_vid);
qqVideo.getVideoes(v_vid).then(function (response) {
for (var i = 1; i < response.length + 1; i++) {
var indexStr = 'index' + (i)
pageArr.push(i);
part_urls[indexStr] = response[i - 1];
}
v_videoUrl = response[0];
console.log("onload.getVideoes.v_videoUrl=" + v_videoUrl);
if (v_vposter.substring(0, 4) != "http") { v_vposter = that.data.hostImg + v_vposter; }
that.setData({ vposter: v_vposter, videoUrl: v_videoUrl }) //
});
}
}
........
video_player.wxml
<video src="{{videoUrl}}" id="video_main" poster="{{vposter}}" autoplay="true" bindplay="to_bindplay" bindtimeupdate="to_bindtimeupdate"></video>
效果图
本文持续改进、完善...