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

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

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. 带着好奇心去探索IDEA

    带着好奇心去探索IDEA 工欲善其事必先利其器 软件是提高工作效率的工具.所以了解工具的特性,操作方式,能更好地使用它.一般使用掌握逻辑: 第一步:了解菜单栏-工具栏-其他窗口: 第二步:实战,真正利 ...

  2. IDEA2020.2的破解

    第一种方式:http://code.39sd.cn/ 直接获取二维码: 第二种:下载破解工具(本方法只是提供个人学习使用) 1.下载2020.2的idea 链接:https://pan.baidu.c ...

  3. 最新vue项目添加水印

    在utils文件夹中创建 wartermark.ts 文件(位置看自己的组件放那,这都行),内容如下: 1 "use strict"; 2 3 const setWatermark ...

  4. Centos7系统下Docker开启认证的远程端口2376配置教程

    docker开启2375会存在安全漏洞 暴露了2375端口的Docker主机.因为没有任何加密和认证过程,知道了主机IP以后,,任何人都可以管理这台主机上的容器和镜像,以前贪图方便,只开启了没有认证的 ...

  5. ORA-00001: unique constraint (string.string) violated 违反唯一约束条件(.)

    ORA-00001: unique constraint (string.string) violated   ORA-00001: 违反唯一约束条件(.) Cause: An UPDATE or I ...

  6. bufferedReader 读取文件第一行第一个字符丢失问题

    在做一个解析pacp文件的时候需要读取文件中的每个属性,但是每次读出来的内容的每一行的第一个字符都被吞掉了,找了半天不知道为什么,后来看到在读取的时候用的read()方法,而且返回值是int类型,在变 ...

  7. 多测师讲解自动化 _rf 变量_高级讲师肖sir

    rf变量 log 打印全局变量 列表变量: 字典变量: 查看当前工程下的变量 紫色表示变量名有误 设置全局变量 设置列表变量 设置字段变量 关键字书写格式问题

  8. day10 Pyhton学习

    一.昨日内容回顾 函数: 定义:对功能或者动作的封装 def 函数名(形参): 函数体 函数名(实参) return:  返回,当程序运行到return的时候,终止函数的执行 一个函数一定拥有返回值 ...

  9. LNOI 2020 退役记

    不会爆零了吧嘤嘤嘤 \(Day -7\) 周五正在上化学珂,突然被老师叫出去说省选还有名额,问我报不报名.啊嘞嘞还有一周了告诉我还有名额?经过了激烈的思想斗争,还是决定停课搞一搞,学一回OI好歹看看省 ...

  10. 类型“DbContext”在未引用的程序集中定义。必须添加对程序及“EntityFramework,Version=6.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的引用。using语句中使用的类型必须可隐式转换为”System.IDisposable

    其他层引用Model层的ef模型时会发生这个错误 解决方法: 在你要使用EF模型的层下点击添加引用 然后点击浏览   找到Model层文件下的bin>debug文件   引用这两个dll文件 如 ...