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

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

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. VS2013 c++ 生成和调用DLL动态链接库(.def 方法已验证OK)

    转载:https://blog.csdn.net/zhunianguo/article/details/52294339 .def 方法 创建动态库方法: 创建动态库是生成 .dll .lib 两个个 ...

  2. 批处理中的删除命令:del

    转载:https://blog.csdn.net/playboy1/article/details/6869358 删除一个或数个文件.DEL [/P] [/F] [/S] [/Q] [/A[[:]a ...

  3. 小白安装使用Redis

    Redis属于NoSql中的键值数据库,非常适合海量数据读写. 之前用过mongo但是没有用过redis,今天来学习安装redis. 先去官网下载redis安装包 redis官网 redis是c语言编 ...

  4. Redis 中 BitMap 的使用场景

    BitMap BitMap 原本的含义是用一个比特位来映射某个元素的状态.由于一个比特位只能表示 0 和 1 两种状态,所以 BitMap 能映射的状态有限,但是使用比特位的优势是能大量的节省内存空间 ...

  5. 获取Jetbrain全家桶激活码

    支持正版,本KEY仅用于体验软件 激活码 激活码一: 2GCA2ZHNKP-eyJsaWNlbnNlSWQiOiIyR0NBMlpITktQIiwibGljZW5zZWVOYW1lIjoi5r+A5r ...

  6. SpringBoot+单机redis

    spring boot-redis集成 看教程来的,看起来很简单,但是集成后发现启动失败? WARN 2556 --- [ restartedMain] ationConfigEmbeddedWebA ...

  7. 多测师讲解jmeter _基本介绍_(001)高级讲师肖sir

    jmeter讲课课程 一.Jmeter简介 Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试. Jmeter具备高移植性,可以实现跨平台运行. ...

  8. 多测师讲解_ 高级自动化测试selenium_001基本学习

    高级自动化测试python+selenium教程手册 --高级讲师肖sir 第 1 章webdriver 环境搭建好了,我们正式学习 selenium 的 webdriver 框架,它不像 QTP 之 ...

  9. 【转】了解nodejs、javascript间的关系!bom&dom&ecmascript

    地址:https://www.cnblogs.com/JetpropelledSnake/p/9450810.html bom&dom:https://www.cnblogs.com/wang ...

  10. 【C/C++】用C语言编写爬虫—爬虫程序优化要点

    写一个网络爬虫   用C语言来写一个网络爬虫,来获取一个网站上感兴趣的信息,抓取自己需要的一切. #include<cspider/spider.h>/* 自定义的解析函数,d为获取到的h ...