音频后边加个参数就可以了src = 'http://xxx.mp3?t=' + Date.now()
innerAudioContext在ios上同一个音频只能播放一次在ios上播放一次音频后,再次点击播放该音频,无法调用 innerAudioContext.onPlay,在android手机上没有问题。 wxml: <view class='color-white audio pull-left flex flex-vc' data-url='{{audioUrl}}' bindtap='play2'> <view class='icon-play2'></view> <text class='color-white' wx:if="{{audioStatus}}">播放中</text> <text class='color-white' wx:else>{{duration}}s</text> </view> js: const innerAudioContext2 = wx.createInnerAudioContext() //预听录音 play2: function (e) { console.log("预听录音") var that = this; innerAudioContext2.autoplay = true innerAudioContext2.src = e.currentTarget.dataset.url; }, onLoad: function (options) { innerAudioContext2.onPlay(() => { console.log('开始播放') that.setData({ audioStatus: true, }) }) innerAudioContext2.onEnded(() => { console.log('播放结束') that.setData({ audioStatus: false, }) }) innerAudioContext2.onError((res) => { console.log(res.errMsg) console.log(res.errCode) }) }, ios真机上打印信息如下图,第一次点击播放执行了,第二次点击播放时没有执行innerAudioContext2.onPlay: [图片] 在Android手机上如图所示: [图片]
2018-09-07同样问题,同问
android上innerAudioContext设置新的src不生效场景: 一个页面有多个按钮,每个按钮点击时播放按钮对应的音频。 播放方式: 通过wx.createInnerAudioContext()全局创建了一个innerAudioContext,然后点按钮后设置不同的src值去播放。 结果: 在ios和开发者工具上完全正常,但在android上播的还是第一段音频,src替换后无效。
2018-09-07遇到了同样的问题
请问 this.setData 所支持的数据大小究竟是如何计算的?小程序的文档里面是这么写的: 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据 但是在实际页面中,就试着塞了一个 300 多 k 的 JSON 然后就报错了:invokeWebviewMethod 数据传输长度为 4443472 已经超过最大长度 1048576 感觉像是乘了 10 倍样子
2018-08-23