微信小程序video组件播放腾讯视频等热门视频

       腾讯视频的链接地址打开的页面,没有视频文件的地址,怎么在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> 

效果图

     本文持续改进、完善...

发布了179 篇原创文章 · 获赞 16 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/yan_dk/article/details/100183922