刚刚看到一个回答,说是onplay无法监听云文件,但是用获取到云文件的http开头的url,还是无法成功播放,为什么为什么??!!
ios无法播放InnerAudioContext?API:wx.createInnerAudioContext 模拟器中可播放音频,但ios真机不可 const thisAudio = wx.createInnerAudioContext(); audioPlay:function() { thisAudio.src = this.data.soundID console.log(thisAudio.src) if (!this.data.isPlay) { thisAudio.play() this.setData({ isPlay: true, hintImg: "/assets/icon/暂停.svg", }) } else { thisAudio.pause() this.setData({ isPlay: false , hintImg: "/assets/icon/播放.svg", }) console.log("播放暂停") } thisAudio.onPlay(() => { console.log('正在播放') }) thisAudio.onEnded(() => { console.log('播放结束') this.setData({ isPlay: false }) }) thisAudio.onError((res) => { console.log(res.errMsg) console.log(res.errCode) this.setData({ isPlay: false, hintImg: "/assets/icon/播放.svg", }) }) }, 模拟器如下,这里也有个很奇怪的地方,第一次onPlay是不会打印信息的,但是暂停之后继续点击播放,才打印出“正在播放” [图片] ios真机如下,监听事件onPlay未监听到正在播放,这是什么原因?我前几天测试的时候是可以的,但是今天不行了。如果不是用云文件id,而是获取播放地址的话,试了一下也还是不行。。。 [图片] 手机型号:iphone8p 微信版本:7.0.12
2020-04-05在真机上试了一下没有问题,但是在pc端不行,但是pc端刚开始几次是可以播放的呀,纳闷
为什么录音临时文件无法播放?刚开始的几次是有效的,后来失效。API:wx.getRecorderManager() wx.createInnerAudioContext() const recorderManager = wx.getRecorderManager() const tempAudio = wx.createInnerAudioContext() startTap:function(){ var self = this; this.data.tempPlay = false; //避免播放按钮失效 const option = { duration:60000, //录音时长10000ms sampleRate:16000, numberOfChannels:1, encodeBitRate:96000, format:'mp3', frameSize:50, } self.recordingTimer(); //开始录音 recorderManager.start(option); recorderManager.onStart( ()=>{ console.log('recorder start') } ); //错误回调 recorderManager.onError( (res)=>{ console.log('recorder fail') } ) }, endTap:function(){ var self = this; //console.log("self",self) this.setData({tempPlay : false}); //避免播放按钮失效 recorderManager.stop(); recorderManager.onStop( (res)=>{ //临时文件路径 self.tempFilePath = res.tempFilePath; console.log('thistemp',self.tempFilePath) console.log('realtemp',res.tempFilePath) const{tempFilePath} = res; //文件正常 wx.getFileInfo({ filePath:self.tempFilePath, success(res){ console.log(res) } }) }) }, 录音采用MP3格式,刚开始完全ok,但是四五次之后再播放就报错10004,这是为什么?录音要求也没错呀……
2020-03-28