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

本文与大家分享一下直播平台源码搭建教程,如何去掉直播视频的水印

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;

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;

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;

//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;

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;

}

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;

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'

}

}

});

以上就是直播平台源码搭建教程,欢迎感兴趣的朋友一起讨论。

直播平台源码搭建教程:微信小程序中的直播如何去掉水印的更多相关文章

  1. PHP直播平台源码搭建教程

    直播源码市场火爆,但是PHP直播平台源码的搭建过程较为复杂,本文就简单为大家概述一下直播的实现过程以及PHP直播平台源码是如何搭建的. 一.直播的定义 如今PHP直播平台源码绝大部分情况下是指在现场架 ...

  2. 在Mac Os(苹果)上用手机抓包软件Charles抓取微信小程序中的高清无水印视频

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_118 手机抓包是一名测试工程师常备的技能,比如我想查看一个接口请求的参数.返回值,还有移动设备上的http请求.https请求,这 ...

  3. 微信小程序中如何使用WebSocket实现长连接(含完整源码)

    本文由腾讯云技术团队原创,感谢作者的分享. 1.前言   微信小程序提供了一套在微信上运行小程序的解决方案,有比较完整的框架.组件以及 API,在这个平台上面的想象空间很大.腾讯云研究了一番之后,发现 ...

  4. 微信小程序开发系列五:微信小程序中如何响应用户输入事件

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...

  5. 微信小程序中发送模版消息注意事项

    在微信小程序中发送模版消息 参考微信公众平台Api文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/notice.html#模版消息管理 此参考地址 ...

  6. 全栈开发工程师微信小程序-中(中)

    全栈开发工程师微信小程序-中(中) 开放能力 open-data 用于展示微信开放的数据 type 开放数据类型 open-gid 当 type="groupName" 时生效, ...

  7. 微信小程序中图片上传阿里云Oss

    本人今年6月份毕业,最近刚在上海一家小公司实习,做微信小程序开发.最近工作遇到一个小问题. 微信小程序图片上传阿里云服务器Oss也折腾了蛮久才解决的,所以特意去记录一下. 第一步:配置阿里云地址: 我 ...

  8. 微信小程序中用户登录和登录态维护

    提供用户登录以及维护用户的登录状态,是一个拥有用户系统的软件应用普遍需要做的事情.像微信这样的一个社交平台,如果做一个小程序应用,我们可能很少会去做一个完全脱离和舍弃连接用户信息的纯工具软件. 让用户 ...

  9. 全栈开发工程师微信小程序-中(下)

    全栈开发工程师微信小程序-中(下) 微信小程序视图层 wxml用于描述页面的结构,wxss用于描述页面的样式,组件用于视图的基本组成单元. // 绑定数据 index.wxml <view> ...

随机推荐

  1. matlab中ceil朝正无穷大四舍五入

    来源:https://ww2.mathworks.cn/help/matlab/ref/ceil.html?searchHighlight=ceil&s_tid=doc_srchtitle 本 ...

  2. ubuntu 18.04 搭建flask服务器(大合集,个人实操)

    ubuntu 18.04 搭建flask服务器(大合集) Ubuntu python flask 服务器 本次使用的Ubuntu版本为:Ubuntu 18.04.5 LTS (GNU/Linux 4. ...

  3. 3-kubernetes监控与日志管理

    监控集群资源利用率 metrics-server是一个集群范围的资源使用情况的数据聚合器,作为一个应用部署在集群中 metrics-server从每个节点上kubelet API收集指标,通过kube ...

  4. EntityFramwork基础用法

    一.EntityFramework(简称"EF")是什么? 在.NET3.5之前,我们经常编写ADO.NET代码或通过封装好的数据库访问层来与数据库进行交互,进行CRUD操作.这种 ...

  5. Java安全之Javassist动态编程

    Java安全之Javassist动态编程 0x00 前言 在调试CC2链前先来填补知识盲区,先来了解一下Javassist具体的作用.在CC2链会用到Javassist以及PriorityQueue来 ...

  6. 多测师讲解自动化测试 _接口面试题(001)_高级讲师肖sir

    1.为什么要做接口测试(必要性)1.可以发现很多在页面上操作发现不了的bug2.检查系统的异常处理能力3.检查系统的安全性.稳定性4.前端随便变,接口测好了,后端不用变5.可以测试并发情况,一个账号, ...

  7. h5的第一份翻译

    <!DOCTYPE html>DOCTYPE DOC文本文档documentTYPE 类型html hyper超,超级的:text文本:markup标记:language语言<htm ...

  8. C语言实现和 *.ini文件。

    本文之前由于技术不到位,写的比较挫,最近花了大半天时间写了一个高级点的版本. 这里是我写的代码,已经上传到github了.跳转到github 主要是使用了链表保存ini文件的内容,在程序运行最初会初始 ...

  9. monolog 日志

    1 安装 composer require monolog/monolog 2 使用 // 创建日志服务 $logger = new Logger('my_logger'); // 定义一个handl ...

  10. spring boot:用spring security加强druid的安全(druid 1.1.22 / spring boot 2.3.3)

    一,druid的安全保障有哪些环节要注意? 1,druid ui的访问要有ip地址限制 2,用户必须要有相应的权限才能访问druid 3,关闭重置功能 说明:stat-view-servlet.url ...