4477关注14586浏览
在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手机上如图所示:
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
画心
19人对此回答表示赞同
代码片段wechatide://minicode/sJ7YCeme63YU
展开191回复分享发布于 6年前评论(1)
收起评论
-
空格君
19人对此回答表示赞同
音频后边加个参数就可以了src='http://xxx.mp3?t='+Date.now()
展开190回复分享发布于 6年前评论(0)
收起评论
-
你最珍贵
12人对此回答表示赞同
麻烦给个相关的代码片段,我们定位下问题
展开120回复分享发布于 6年前评论(0)
收起评论
您好!我最近也遇到这个问题了,请问最后解决这个问题了吗?