是否可以分两次录制呢,然后再拼起来。
微信小程序的录制视频时间能不能从30s加长到1分钟- 需求的场景描述(希望解决的问题) 我们有一个签署合同的小程序, 具体场景为: 用户进入我们的页面,界面上有一段文字, 用户录制读这段文字的视频,录制完成后,提交上传。 我们调用 wx.createCameraContext() 这个API, 再使用 CameraContext.startRecord 接口进行拍摄视频。 但是视频最长录制时间为30s,到了限制时间后视频录制会自动停止, 往往用户都没法读完我们显示的文字, 很多时候真的再多个10s就能读完了。 [图片] 1、需要用户读的文字,因为法务风险控制的的要求,没法缩短。 2、如果让用户提前录好上传,不合规,风险在于这个视频有可能是被用户篡改过的。 3、小程序还有一个wx.chooseVideo的接口,调用这个接口直接进入了相机界面,这个接口的视频录制没有时间限制,但是这时候没有文字给用户读。 - 希望提供的能力 可否将wx.createCameraContext()这个api的 最长录制时间 扩大到1分钟, 45s都行啊,30s真的太短了。
2021-01-11遇到了同样的问题,安卓机容易出现黑屏。 IOS的不会。 也是三维展示类应用。
关于官方测试问题重现的情况我想咨询官方,希望给一个正面答复。 我这边小程序,尤其是安卓真机上,在不改动任何手机设置,微信设置和代码的情况,会崩溃。下打开小程序会有崩溃,闪退的情况。 重新安装微信之后测试会出现一下两种情况下: 情况1:在卸载微信,在同一个手机环境下,重新安装微信之后,在不改动任何手机设置,微信设置和代码的情况,在不加载原微信数据的情况下,不会重现任何闪退,崩溃。和其他bug。 情况2:在卸载微信,在同一个手机环境下,重新安装微信之后,在不改动任何手机设置,微信设置和代码的情况,加载原微信的所有数据,包括聊天记录,文件,图片之后,打开使用小程序会重现闪退,崩溃等各种bug。 所以请问官方,我们这边已经修完所有bug,优化过小程序,但是不可能要所有用户都卸载重装微信加不加载任何微信旧数据来使用小程序。 这样问题如何解决? 最大问题是在完全全新的微信环境下不会出现任何问题。 所以官方在测试崩溃和bug重现是不是都是在完全全新的环境下测试的?所以基本提出很多问题,没有错误代码的情况下,官方都很难复现问题的? 恳请官方给一个正面回复和一个解决方案。 谢谢
2019-11-14是不是需要先wx.login,再获取解密数据给后台解密。 如果先获取数据,再获得code,那这个code拿到的sessionkey就不对应上数据了?
解密encryptedData 出现Illegal Buffer官方nodejs解密这段代码, 有一定的概率出现throw new Error('Illegal Buffer') 请问是什么原因,查了很久参数传送没问题。求官方给我回复,在线等,因为上线前遇到这个奇怪问题,见到论坛都有类似的问题 都没有解决的。!!!!!! 相关介绍:https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html 提供相关的真实数据方便官方帮忙查找下原因是什么: [代码]var[代码] [代码]appId = [代码][代码]"wxb52dabb4ae6c5e5f"[代码][代码];[代码][代码]var[代码] [代码]sessionKey = [代码][代码]"Av/kbm77la18Bo+vDfg9Hw==";[代码][代码]var[代码] [代码]encryptedData = [代码][代码]"wtv8PmAjj/ht48phniECl6DlLjar8OuIC9ghKH6yyNmo6FzHQIKc4/Rf3BkvHdWgT62ogUvxjMkmVFUvOpkKpFMYZ5YFk6Nd3MghV8kdrWLuf5XnoqGLkFhI+LVTkhlbeGF3UQZCIn4N0wfnvbjnWTrdiUaqJRyMz7vh0xggRPL3PHcaIb5oyYrV349xsb4gyzeKPpTRC9ED3o4Yf+SPLExfdiTBnaZ1OaYsdqsVirgh60Z7OxTmXVUAsedbSJZ4z4+nJvbkE/63Twb/a8+64ByPhojwMSsqJru5mLFFIZ+LEf250K+sqfbMhvWnmAYdQLy0ZcSKKqXzFZMmZGa56V5IdRQc8jo4gYVzrhuxbynQghQcjpRYDLDdUUWn5alAg8ruQ6D7uM1qygGbluASixUR59w59UP2QGplgDOXCazC90NB/0ZokvrATObKXpixiUgMu+azL9pEUgCoi1mxaMp47mpl5zyGCAuDoG/54cQ="[代码][代码];[代码][代码]var[代码] [代码]iv = [代码][代码]"7vXKt43CYsQwntPHIImz0Q=="[代码][代码];[代码] ================================= [代码]var[代码] [代码]crypto = require([代码][代码]'crypto'[代码][代码])[代码][代码]function[代码] [代码]WXBizDataCrypt(appId, sessionKey) {[代码][代码] [代码][代码]this[代码][代码].appId = appId[代码][代码] [代码][代码]this[代码][代码].sessionKey = sessionKey[代码][代码]}[代码][代码]WXBizDataCrypt.prototype.decryptData = [代码][代码]function[代码] [代码](encryptedData, iv) {[代码][代码] [代码][代码]// base64 decode[代码][代码] [代码][代码]var[代码] [代码]sessionKey = [代码][代码]new[代码] [代码]Buffer([代码][代码]this[代码][代码].sessionKey, [代码][代码]'base64'[代码][代码])[代码][代码] [代码][代码]encryptedData = [代码][代码]new[代码] [代码]Buffer(encryptedData, [代码][代码]'base64'[代码][代码])[代码][代码] [代码][代码]iv = [代码][代码]new[代码] [代码]Buffer(iv, [代码][代码]'base64'[代码][代码])[代码][代码] [代码][代码]try[代码] [代码]{[代码][代码] [代码][代码]// 解密[代码][代码] [代码][代码]var[代码] [代码]decipher = crypto.createDecipheriv([代码][代码]'aes-128-cbc'[代码][代码], sessionKey, iv)[代码][代码] [代码][代码]// 设置自动 padding 为 true,删除填充补位[代码][代码] [代码][代码]decipher.setAutoPadding([代码][代码]true[代码][代码])[代码][代码] [代码][代码]var[代码] [代码]decoded = decipher.update(encryptedData, [代码][代码]'binary'[代码][代码], [代码][代码]'utf8'[代码][代码])[代码][代码] [代码][代码]decoded += decipher.final([代码][代码]'utf8'[代码][代码])[代码][代码] [代码][代码]decoded = JSON.parse(decoded)[代码][代码] [代码][代码]} [代码][代码]catch[代码] [代码](err) {[代码][代码] [代码][代码]throw[代码] [代码]new[代码] [代码]Error([代码][代码]'Illegal Buffer'[代码][代码])[代码][代码] [代码][代码]}[代码][代码] [代码][代码]if[代码] [代码](decoded.watermark.appid !== [代码][代码]this[代码][代码].appId) {[代码][代码] [代码][代码]throw[代码] [代码]new[代码] [代码]Error([代码][代码]'Illegal Buffer'[代码][代码])[代码][代码] [代码][代码]}[代码][代码] [代码][代码]return[代码] [代码]decoded[代码][代码]}[代码][代码]module.exports = WXBizDataCrypt[代码]
2019-04-18