- 希望通过openDocument打开的文件能够让用户以其他应用程序打开
希望小程序通过openDocument打开的文件能够让用户以其他应用程序打开,我们是一个学校的内部小程序,但是现在生成的Excel表都没法发给用户,特别是现在浏览器直链访问各类文档出来的都是预览而不是下载(大家都习惯用手机),文件的分享很成问题。
2019-06-20 - 音视频资源防盗链
我们的小程序是做内容分发的,希望能在图片,音频,视频的请求header里增加refer,根据refer来做防盗链。 需求背景:没有refer我们无法区分资源请求来源,别人在我们cdn上传一些邪教,黄毒的事情,拿去其他网站,链接上传播。工信部来找我们,没有refer我们无法区分请求来源是小程序还是外链,以此来阻止站外传播,减小影响范围。站内信息会在24小时内审核。 [图片] 这个是开发者工具,真机上音视频refer皆为空
2019-06-17 - 小程序下载把mp4文件转换成了webm格式
- 当前 Bug 的表现(可附上截图) 通过一些网盘的下载链接下载的MP4格式文件,在工具上下载后显示为wenm格式文件; 在真机上,文件链接后缀为.unknown;保存视频时,会提示saveVideo ToPhotosAlbum:fail invalid file type 想知道是我这里少配置了什么信息么?还是其他什么原因? - 提供一个最简复现 Demo const downloadTask = wx.downloadFile({ url: downloadLink, header: { 'Content-Type': 'multipart/form-data', 'Content-Disposition': 'attachment;fileName=' + this.videoItemInfo.contentName }, success (res) { } })
2019-06-18 - 虚拟支付导出列表问题
为什么现在小游戏程序后台虚拟支付导出表格变了啊,以前是选择哪一天就导出来,会在右上角通知显示,如图 [图片] 现在选择之前的某天导不出了,没有导出列表的选择[图片] 选择多个日期有导出列表的选择,但是点击到处列表跳到的是空白页?如图[图片] [图片] 这样要我们和我们公司的后台怎么对账啊?
2019-06-17 - 求助:小程序怎么实现视频剪辑功能(主要为时长及尺寸)
在开发的小程序,需要对拍摄或者上传的视频进行时长和尺寸编辑。 具体表现为: 1、剪辑视频的时长和区域,比如一个1分钟的视频,最长可选择其中的30秒,可拖动选择开始和结束的时间。 2、固定视频的尺寸,比如一般上传或者拍摄的视频要么横屏要么竖屏,想固定成正方形尺寸,自动适配视频的中心区域。 核心想解决的是第一点。 比如小程序“小年糕+”,就有视频剪辑的功能,实现的是第1点。 请问一下这个怎么实现?有相关的插件吗?可有偿。
2019-06-15 - video进度条无法点击!!
[图片] [图片]真机点击没效果,在开发工具点击却有效果
2019-06-15 - 富文本上传视频和音视频的需求
- 需求的场景描述(希望解决的问题) 编辑文章需要上传视频和音视频 - 希望提供的能力 视频和音视频上传显示在富文本编辑器上
2019-06-10 - livepusher.snapshot 能否截得摄像头原图?
在保险理赔场景中,无论何种网速都需要用户的清晰图片以便定损。现在 livepusher.snapshot 截取的从表现上来看应该是从压缩后的流中截取的,不满足需求。 希望能提供一个api,直接截取推流摄像头中的原始图像,能支持自定义截图size更好。
2019-08-15 - 智能AI功能
官方啥时候能开放点智能AI功能啊!腾讯自己有AI 集成支持小程序应该不难啊 智能年代 应该智能化
2019-06-06 - 微信小程序视频播放加载很慢
- 当前 Bug 的表现(可附上截图) - 预期表现 - 复现路径 - 提供一个最简复现 Demo 微信小程序视频播放加载很慢,一直转圈,3分钟后才能播放,而且播放很卡,加了带宽和cdn也没有效果,官方的video组件是不是有bug <video id="myVideo" hidden="{{!selected4}}" bindtimeupdate="timeUpdate" bindended="playended" binderror="playerror" class='kcxq-topimg' style="width:100%" src="{{videoUrl}}" initial-time="{{initial}}" custom-cache="{{false}}" controls> <canvas canvas-id='myCanvas' style='width:100%;margin-top:5%;'></canvas> </video> let videotime = e.currentTarget.dataset.videotime; let currProgress = Number((parseInt(videotime) * progress / 100).toFixed(0)); lastTime = currProgress; //wx.setStorageSync('lastTime', currProgress); if (progress == 100) currProgress = 1; console.log("currProgress:" + currProgress); that.setData({ videoUrl: src + "?t=" +new Date().getTime(), initial: currProgress, selected3: false, //将封面图隐藏 selected4: true, //将视频video打开显示 selected5: false //将轮播图隐藏 videoCtx = wx.createVideoContext('myVideo') ; //监听视频播放进度 timeUpdate(e) { let that = this; //console.log("duration:" + e.detail.duration) if (fromProgress < 100) { duration = e.detail.duration; //var lastTime = wx.getStorageSync('lastTime') || that.data.initial; currentTime = e.detail.currentTime; console.log('上次的时间' + lastTime + '现在的时间' + currentTime); if ((parseInt(currentTime) - parseInt(lastTime)) > 3) { videoCtx.seek(lastTime); return false; } else { lastTime = currentTime; //wx.setStorageSync('lastTime', currentTime); progress = Math.round((currentTime / duration) * 10000) / 100.00; pgMap.set(lessionid, progress); //将lessionid和进度存到map中 //console.log("progress:" + progress); } } }, //当播放到末尾时触发 ended 事件 playended(e) { let that = this; console.log("更新子课程进度:100") pgMap.set(lessionid, 100); that.updateLearnItem(); //更新子课程进度 setTimeout(function () { that.getDetail(); }, 1000) },
2019-06-14