直播平臺源碼搭建教程:微信小程序中的直播如何去掉水印

直播平臺源碼搭建教程:微信小程序中的直播如何去掉水印小程序

本文與你們分享一下直播平臺源碼搭建教程,如何去掉直播視頻的水印微信小程序

var services = require('../../lib/service')服務器

var ReceiverOptions = null;
Page({
data: {
loading: false,
videoInfo: {}, //{videoId:0,videourl:'',title:''}
//0:加載完成(還有數據) 1:加載中 2:加載完成(沒有更多數據了)
searchLoadingStatus: 2,
//1:已受權 0:未受權
typeCode: 0,
//搜索位置名稱
searchKeyWord: '',
systemInfo: {},
//視頻下載狀態 0:未下載 1:正在下載
videoDownLoadStatus: 0,
videoDownProgress: 0,
videoPlayCoverList: [],
//是否顯示下載視頻按鈕
showDownLoadBtn: false,
//顯示分享按鈕
showShareVideoBtn: false,
//是否顯示在線客服
showOnlineKf: false,
//積分總數
creditsAmountSum: 0,
//視頻下載Url
downLoadVideoUrl: '',
//視頻下載提示語
downloadVideoWaitRemindText: '正在生成視頻地址,請稍後...'
},
onLoad(options) {
var that = this;微信

wx.getSystemInfo({
  success: function(res) {
    that.setData({
      systemInfo: res //windowWidth,windowHeight
    });
    console.log(res);
  }
});
getApp().getWxLoginInfo(function() {
  that.loadSupportPlat(true);
  that.videoSystemSetting();
});

},
onShow() {
var that = this;app

var userLoginStatus = getApp().globalData.UserInfo.UserLoginStatus;
if (userLoginStatus) {
  that.loadSupportPlat(false);
}
wx.getClipboardData({
  success(res) {
    console.log(res.data);
    var linkStr = res.data;
    if (linkStr.indexOf('http:') >= 0 || linkStr.indexOf('https:') >= 0) {

      //清空剪切板內容
      wx.setClipboardData({
        data: ' ',
        success(clearRes) {
          wx.hideToast();
        }
      })

      wx.showModal({
        title: '是否粘貼剪切板中的連接地址',
        content: linkStr,
        success(res) {
          if (res.confirm) {
            that.setData({
              searchKeyWord: linkStr
            });
          }
        }
      })

    }
  }
})

that.setData({
  searchLoadingStatus: 2
});

},
loadSupportPlat: function(loading) {
var that = this;ide

services.service('minivideo/getplatlist', {
    "WxUserId": 0
  },
  function(res) {
    console.log(res);
    that.setData({
      videoPlayCoverList: res.data.Data
    });
  }, null, null, loading);

},
loadShareVideo: function() {
let that = this;
var videoId = that.data.videoInfo.videoId;ui

//videoId = 10004;
if (videoId > 0) {
  services.service('minivideo/getvideoinfo', {
      "WxUserId": 0,
      "VideoId": videoId
    },
    function(res) {
      console.log(res);
      if (res.data.Status) {

        var analysisStatus = res.data.Data.AnalysisStatus;
        var showDownLoadBtn = false;
        //下載成功,顯示下載,分享按鈕
        if (analysisStatus == 3) {
          showDownLoadBtn = true;
        }

        that.setData({
          downloadVideoWaitRemindText: '',
          showDownLoadBtn: showDownLoadBtn,
          showShareVideoBtn: true,
          videoInfo: {
            videoId: videoId,
            videourl: res.data.Data.VideoUrl
          },
          downLoadVideoUrl: res.data.Data.VideoUrl
        });
      }
    }, null, null, true);
} else {

}

},
//系統設置
videoSystemSetting: function() {
let that = this;this

services.service('minivideo/getconfig', {},
  function(res) {
    console.log(res);
    if (res.data.Status) {
      that.setData({
        showShareVideoBtn: res.data.Data.ShowShareVideo,
        showOnlineKf: res.data.Data.ShowOnlineKf
      });
    }
  }, null, null, false);

},
//保存視頻到相冊
btnSaveVideo: function() {
var that = this;
wx.authorize({
scope: "scope.writePhotosAlbum",
success: function() {
var downLoadStatus = that.data.videoDownLoadStatus;
if (downLoadStatus == 0) {
var videourl = that.data.downLoadVideoUrl;
if (videourl == null || videourl == '') {
that.showToast('請先提取視頻');
return;
}url

that.setData({
        videoDownLoadStatus: 1,
        videoDownProgress: 0
      })
      const downloadTask = wx.downloadFile({
        url: videourl,
        success(res) {
          if (res.statusCode === 200) {
            wx.saveVideoToPhotosAlbum({
              filePath: res.tempFilePath,
              success(res) {
                //保存成功
                that.showSuccessToast('已保存到相冊');
              },
              fail(res) {
                console.log(res);
                that.showToast('保存失敗');
              }
            })
          }
        },
        fail(res) {
          that.showToast('下載視頻失敗');
        },
        complete(res) {
          that.setData({
            videoDownLoadStatus: 0
          })
        }
      })

      //監聽下載進度
      downloadTask.onProgressUpdate(function(res) {
        that.setData({
          videoDownProgress: res.progress
        })
      })
    }
  },
  fail: function() {
    that.showToast('受權保存視頻到相冊失敗,請刪除該小程序從新受權');
  }
});

},
//複製連接
copyVideoLink: function() {
var that = this;
var videoUrl = that.data.videoInfo.videourl;code

wx.setClipboardData({
  data: videoUrl,
  success(res) {
    that.showToast('複製成功')
  }
});

},
//搜索
bindSearchTap: function(e) {
console.log('開始提取視頻')
console.log(e);
var that = this;
var searchLoadingStatus = that.data.searchLoadingStatus;
if (searchLoadingStatus != 1) {
that.setData({
//加載中
searchLoadingStatus: 1
});

var _userInfo = e.detail.userInfo;
  if (_userInfo != null && _userInfo != undefined) {
    //先受權
    getApp().authorUserInfo(_userInfo, function(data) {
      that.getVideoPlayUrl();
    }, false);
  } else {
    that.showToast("請先容許微信受權");
    that.setData({
      //加載中
      searchLoadingStatus: 2
    });
  }
}

},
//使用教程
bindUseCourse: function(e) {
wx.navigateTo({
url: '../useCourse/useCourse'
});
},
//跳轉到位置收藏大師
navigateToLocationMiniProgram: function(e) {
var wxUserId = getApp().globalData.UserInfo.WxUserId;

wx.navigateToMiniProgram({
  appId: 'wxb91f7b85c23f0624',
  path: 'pages/home/home?skip=' + wxUserId,
  //extraData: {
  //  flag: 'Skip_1'
  //},
  envVersion: 'release',
  success(res) {
    // 打開成功
  },
  fail(res) {
    that.showToast('調起小程序失敗,請稍後重試');
  }
})

},
//清空輸入框
clearInput: function() {
var that = this;
that.setData({
searchKeyWord: ''
});
},
//輸入框輸入監聽
searchInputMonitor: function(e) {
var that = this;

that.setData({
  searchKeyWord: e.detail.value
});

},
//提取視頻
getVideoPlayUrl: function() {
var that = this;
that.startGetVideoPlayUrl();
},
startGetVideoPlayUrl: function() {
var that = this;

var wxUserId = getApp().globalData.UserInfo.WxUserId;
var keyword = that.data.searchKeyWord;

services.service('minivideo/addvideourl', {
    WxUserId: wxUserId,
    OriginalUrl: keyword,
    XcxTypeCode: 1
  },
  function(res) {
    if (res.data.Status) {
      var videoUrl = res.data.Data.VideoUrl;
      var videoRecordId = res.data.Data.VideoRecordId;
      var videoImgs = res.data.Data.Imgs;

      that.setData({
        videoInfo: {
          videoId: videoRecordId,
          videourl: videoUrl,
          title: '',
          imgs: videoImgs
        }
      });

      var needDownLoadToServer = res.data.Data.NeedDownLoadToServer;
      if (needDownLoadToServer) {
        if (videoUrl != null && videoUrl != '') {
          that.downLoadVideoToServer(wxUserId, videoUrl, videoRecordId);
        }
      } else {
        that.setData({
          downLoadVideoUrl: videoUrl,
          showDownLoadBtn: true
        });
      }
    } else {
      wx.showModal({
        content: res.data.Msg,
        showCancel: false
      })
    }
  }, null,
  function() {
    that.setData({
      //加載完成
      searchLoadingStatus: 2
    });
  })

},
//下載視頻到服務器
downLoadVideoToServer: function(wxUserId, videoUrl, videoRecordId) {
var that = this;
that.setData({
showDownLoadBtn: false,
downloadVideoWaitRemindText: '正在生成視頻地址,請稍後...'
});

services.service('minivideo/downloadvideo', {
    "WxUserId": wxUserId,
    "VideoUrl": videoUrl,
    "VideoRecordId": videoRecordId
  },
  function(res) {
    if (res.data.Status) {
      var url = res.data.Data.Url;
      that.setData({
        downLoadVideoUrl: url,
        showDownLoadBtn: true
      });
    } else {
      that.showToast(res.data.Msg);
      that.setData({
        showDownLoadBtn: false,
        downloadVideoWaitRemindText: res.data.Msg
      });
    }
  }, null, null, false);

},
//如何獲取更屢次數
getTimesMore: function() {
wx.navigateTo({
url: '../getTimesMore/getTimesMore'
});
},
showToast(title) {
wx.showToast({
title: title,
icon: 'none',
duration: 2000
})
},
onShareAppMessage: function(res) {
let that = this;

return {
  path: '/pages/home/home'
}

}
});

以上就是直播平臺源碼搭建教程,歡迎感興趣的朋友一塊兒討論。