用wx.checkJsApi测试,startRecord接口返回是true,可是点击调用后就是返回{“errMsg":"startRecord:user cancel the auth"} 调用失败,官方文档也不说这信息意味什么,到底怎么回事?
微信 JS sdk 录音借口失败,user cancel the auth不知道这里能不能提微信JSSDK 的问题,这几天用Iphone8P 测试录音接口,发现不能录音了,用alert在手机上显示返回信息是“startRecord:user cancel the auth”。我调用的是wx.startRecord()接口,信息在fail函数里面返回的,ios 11.3。官方能给我看看怎么回事吗?不是没给麦克风权限哦,关掉麦克风权限返回的信息是不一样的,还有其他手机测试下来没有这个问题,不过没有测IphoneX
2018-08-15我也碰到这个问题,安卓有IOS没有,快一年了也没官方的回答,即使说个暂时解决不了也好啊,我们可以去回怼QA
循环播放视频,android出现loading我们的应用,用了个视频做为首页的主体,视频要循环播放,视频每次从头播放时都会出现一个loading,有没有办法解决? 视频已下载到本地才播放的,没有网络问题 [图片] 代码: [代码]onLoad: [代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]wx.showLoading({[代码][代码] [代码][代码]title: [代码][代码]'正在加载'[代码][代码],[代码][代码] [代码][代码]});[代码][代码] [代码][代码]let _this = [代码][代码]this[代码][代码];[代码] [代码] [代码][代码]wx.downloadFile({[代码][代码] [代码][代码]url: [代码][代码]"xxxxxx"[代码][代码],[代码][代码] [代码][代码]success: (e) => {[代码][代码] [代码][代码]let videoTmpPath = e.tempFilePath;[代码][代码] [代码][代码]_this.setData({[代码][代码] [代码][代码]videoUrl: videoTmpPath[代码][代码] [代码][代码]});[代码][代码] [代码][代码]wx.hideLoading();[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: e => {[代码][代码] [代码][代码]wx.hideLoading();[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码][代码] [代码] [代码]},[代码][代码]<[代码][代码]video[代码] [代码]src[代码][代码]=[代码][代码]'{{videoUrl}}'[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{videoUrl}}"[代码] [代码]id[代码][代码]=[代码][代码]"video"[代码] [代码]controls[代码][代码]=[代码][代码]"{{false}}"[代码] [代码]objectFit[代码][代码]=[代码][代码]"fill"[代码] [代码]loop autoplay muted [代码][代码]class[代码][代码]=[代码][代码]'video'[代码][代码]></[代码][代码]video[代码][代码]>[代码]
2018-08-02找到原因了,你的onstop在第二个页面被覆盖了,返回第一个页面时onload不运行的,所以把onstop放在onShow里面,这个会运行,解决了
两个页面getRecorderManager的onStop冲突您好,我现在遇到了一个问题。 我在两个页面index和detail页面的page上边声明了两个 const recorderManager = wx.getRecorderManager(); 然后在各自的onload中声明了onstop事件,现在出现了一个问题 程序启动进入首页(index页)以后,在进入detail页面,再回到首页,进行录音 此时录音结束以后的onstop执行的却是detail页面的事件,不知道该如何处理,麻烦指导下 谢谢 [代码]//index.js[代码][代码]//获取应用实例[代码][代码]const app = getApp()[代码][代码]const recorderManager = wx.getRecorderManager();[代码][代码]const innerAudioContext = wx.createInnerAudioContext();[代码][代码]var[代码] [代码]util = require([代码][代码]'../../utils/util.js'[代码][代码]);[代码][代码]Page({[代码][代码] [代码][代码]。。。。。。。[代码][代码]onLoad: [代码][代码]function[代码] [代码](options) {[代码][代码] [代码][代码]var[代码] [代码]that = [代码][代码]this[代码][代码];[代码][代码] [代码][代码]innerAudioContext.onPlay(() => {[代码] [代码] [代码][代码]})[代码][代码] [代码][代码]recorderManager.onStart(() => {[代码] [代码] [代码][代码]});[代码][代码] [代码][代码]recorderManager.onStop((res) => {[代码][代码] [代码][代码]console.log([代码][代码]"首页输出"[代码][代码])[代码][代码]})[代码][代码]})[代码]上边是index的 [代码]const app = getApp();[代码][代码]const recorderManager = wx.getRecorderManager();[代码][代码]const innerAudioContext = wx.createInnerAudioContext();[代码][代码]var[代码] [代码]util = require([代码][代码]'../../utils/util.js'[代码][代码]);[代码][代码]Page({[代码][代码]。。。。。[代码][代码] [代码][代码]onLoad: [代码][代码]function[代码] [代码](options) {[代码][代码] [代码][代码]recorderManager.onStop((res) => {[代码][代码] [代码][代码]console.log([代码][代码]"detail输出"[代码][代码])[代码][代码]})[代码][代码]}[代码][代码]})[代码]
2018-06-21我也是一样,并且我第一个页面是 const recorderManager1 = wx.getRecorderManager 第二个页面是 const recorderManager2 = wx.getRecorderManager 返回第一个页面后执行record仍然会起冲突执行第二个recorderManager2.onStart()
两个页面wx.getRecorderManager冲突您好,我现在遇到了一个问题。 我在两个页面index和detail页面的page上边声明了两个 const recorderManager = wx.getRecorderManager(); 然后在各自的onload中声明了onstop事件,现在出现了一个问题 程序启动进入首页(index页)以后,在进入detail页面,再回到首页,进行录音 此时录音结束以后的onstop执行的却是detail页面的事件,不知道该如何处理,麻烦指导下 谢谢 [代码]//index.js[代码][代码]//获取应用实例[代码][代码]const app = getApp()[代码][代码]const recorderManager = wx.getRecorderManager();[代码][代码]const innerAudioContext = wx.createInnerAudioContext();[代码][代码]var[代码] [代码]util = require([代码][代码]'../../utils/util.js'[代码][代码]);[代码][代码]Page({[代码][代码] [代码][代码]。。。。。。。[代码][代码]onLoad: [代码][代码]function[代码] [代码](options) {[代码][代码] [代码][代码]var[代码] [代码]that = [代码][代码]this[代码][代码];[代码][代码] [代码][代码]innerAudioContext.onPlay(() => {[代码] [代码] [代码][代码]})[代码][代码] [代码][代码]recorderManager.onStart(() => {[代码] [代码] [代码][代码]});[代码][代码] [代码][代码]recorderManager.onStop((res) => {[代码][代码] [代码][代码]console.log([代码][代码]"首页输出"[代码][代码])[代码][代码]})[代码][代码]})[代码]上边是index的 [代码]const app = getApp();[代码][代码]const recorderManager = wx.getRecorderManager();[代码][代码]const innerAudioContext = wx.createInnerAudioContext();[代码][代码]var[代码] [代码]util = require([代码][代码]'../../utils/util.js'[代码][代码]);[代码][代码]Page({[代码][代码]。。。。。[代码][代码] [代码][代码]onLoad: [代码][代码]function[代码] [代码](options) {[代码][代码] [代码][代码]recorderManager.onStop((res) => {[代码][代码] [代码][代码]console.log([代码][代码]"detail输出"[代码][代码])[代码][代码]})[代码][代码]}[代码][代码]})[代码][代码] [代码]
2018-06-21我也有这个问题,在安卓上,请问解决了吗?
真机上wx.getRecorderManager().start()录音报错调用 wx.getRecorderManager().start() 开始录音, onError得到错误信息:errMsg: opreateRecorder fail: start record fail. 此报错在真机调试时会出现,在小程序开发工具里不会出现。真机上确定已经开通了录音权限。 调用代码如下: if(wx == undefined || wx) { console.log("record onLoad...") var obj = {} obj.sampleRate = 8000 obj.encodeBitRate = 16000 obj.numberOfChannels = 1 obj.format = "acc" obj.frameSize = 0.1 wx.getRecorderManager().start(obj) console.log("record start...") wx.getRecorderManager().onStart( function () { console.log("record started...") }.bind(this) ) wx.getRecorderManager().onError( function (errMsg) { console.log("error...", errMsg) }.bind(this) ) wx.getRecorderManager().onFrameRecorded( function (frameBuffer,isLastFrame) { console.log("record...") }.bind(this) ) }
2018-06-21