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

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

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. Java知识系统回顾整理01基础05控制流程01if

    一.if if(表达式1){ 表达式2: } 如果表达式1的值是true, 就执行表达式2 public class HelloWorld { public static void main(Stri ...

  2. 04 C语言基本语法

    C语言的令牌 C 语言的程序代码由各种令牌组成,令牌可以是关键字.标识符.常量.字符串值,或者是一个符号.例如,下方的C语句包括5个令牌: printf("Hello, World! \n& ...

  3. Unicode、UTF8、GB2312、ANSI

    来源:https://blog.csdn.net/osanwenyu/article/details/48439461 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原 ...

  4. [POI2005]SAM-Toy Cars 贪心+堆

    [POI2005]SAM-Toy Cars 题目:Jasio 是一个三岁的小男孩,他最喜欢玩玩具了,他有n 个不同的玩具,它们都被放在了很高的架子上所以Jasio 拿不到它们:为了让他的房间有足够的空 ...

  5. AA.Dapper升级了

    AA.Dapper基于dapper进一步封装而成的orm框架,提供增删改查.分页.事务.原生sql的功能,以满足日常的业务开发. 1.Repository层: DapperRepository类包含大 ...

  6. 【记】《.net之美》之读书笔记(二) C#中的泛型

    前言 上一篇读书笔记,很多小伙伴说这本书很不错,所以趁着国庆假期,继续我的读书之旅,来跟随书中作者一起温习并掌握第二章的内容吧. 一.理解泛型 1.为什么要使用泛型?-----通过使用泛型,可以极大地 ...

  7. 多测师接口测试 --常见的接口面试题目002---高级讲师肖sir

      1.postman接口测试,它有一个功能可以设置参数化,你有用过吗 2.你测试过哪些接口 3.有做过接口测试吗?接口测试你们是怎么测的 4.多接口怎么测(postman里面有一个批量处理) 5.g ...

  8. 测试-python相关

    python基础 一行代码实现1~100累加,不使用for循环 方式一: sum(range(1,101)) 方式二: 1 from functools import reduce 2 reduce( ...

  9. mysql间隙锁 转

    前面一文 mysql锁 介绍了mysql innodb存储引擎的各种锁,本文介绍一下innodb存储引擎的间隙锁,就以下问题展开讨论 1.什么是间隙锁?间隙锁是怎样产生的? 2.间隙锁有什么作用? 3 ...

  10. ansible用user/group模块管理受控机上的用户和组(ansible2.9.5)

    一,ansible的user/group模块的用途: ansible的user模块用来实现:生成用户.删除用户等用户的管理ansible的group模块用来实现:生成组.删除组等组的管理 说明:刘宏缔 ...