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

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

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. 【题解】PTA-Little Bird

    Link 单调队列板子. 题目大意:一个点可以由距离它不超过\(k\)的点跳过来,如果那个点比它高就不需要花费体力,否则花费\(1\)的体力.问走到\(n\)的最小体力,多组询问. 显然的转移方程,设 ...

  2. MLHPC 2018 | Aluminum: An Asynchronous, GPU-Aware Communication Library Optimized for Large-Scale Training of Deep Neural Networks on HPC Systems

    这篇文章主要介绍了一个名为Aluminum通信库,在这个库中主要针对Allreduce做了一些关于计算通信重叠以及针对延迟的优化,以加速分布式深度学习训练过程. 分布式训练的通信需求 通信何时发生 一 ...

  3. jquery购物车全选,取消全选,计算总金额

    这是html代码 <div class="gwcxqbj"> <div class="gwcxd center"> <div cl ...

  4. NB 的开源项目遍地开花——GitHub 热点速览 Vol.41

    作者:HelloGitHub-小鱼干 本周的 GitHub 热点速览的关键词便是 nb,也是本周特推之一的项目名字,这个功能如名字一般 nb 的项目是一个脚本,帮你处理笔记.书签.归档和知识库应用程序 ...

  5. TMS, XYZ & WMTS的不同

    WMS是OGC定义的协议,用于请求任意区域的渲染地图图像.客户可以根据需要以平铺模式对其进行请求. WMS-C是OSGeo创建的WMS扩展,它向功能文档中添加了元数据,以使客户端知道在哪里发出请求,从 ...

  6. 多测师讲解自动化测试 _RF课堂_定位详解(002上午)_高级讲师肖sir

    1,打开克览器 2.id定位 Input Text id=kw 我是id定位 #id定位方法 3.name定位 Input Text name=wd 我是name定位方法 #我是name定位方法 4. ...

  7. 题解:HDU 6598

    题解:HDU 6598 Description Now, Bob is playing an interesting game in which he is a general of a harmon ...

  8. 发布TrajStat 1.4.4

    发布TrajStat 1.4.4 (MeteoInfo Java版插件),在PSCF和CWT源区分析中增加了依据格点中的气团轨迹条数为权重进行结果处理的功能.之前的仅有按照轨迹节点数目进行权重处理的功 ...

  9. Jmeter之接口依赖

    一.应用场景 1.现在有两个接口,一个是登录,一个查询,但查询接口必须要依赖登录接口的token,那么通过正则表达式提取器提取登录接口的响应结果 2.现在有两个接口,A接口返回列表数据,另一个查询接口 ...

  10. 扫描仪扫描文件处理-ABBYY对扫描版PDF文字加黑加粗、去除背景漂白

    1. 设置ABBYY自动歪斜矫正: 2. 设置导出PDF参数: 3. PDF文字加黑加粗.去除背景漂白步骤:3.1 ABBYY - 打开扫描版PDF文档3.2 ABBYY - 编辑图像3.3 等级 - ...