在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手机上如图所示:



展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 画心

    19人对此回答表示赞同

    代码片段wechatide://minicode/sJ7YCeme63YU

    展开
    19
    1回复
    发布于 6年前

    评论(1)

    收起评论

    • Tom 2018-12-12 10:55

      您好!我最近也遇到这个问题了,请问最后解决这个问题了吗?

      回复
  • 空格君

    19人对此回答表示赞同

    音频后边加个参数就可以了src='http://xxx.mp3?t='+Date.now()

    展开
    19
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 你最珍贵

    12人对此回答表示赞同

    麻烦给个相关的代码片段,我们定位下问题

    展开
    12
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部