收藏
回答

innerAudioContext在ios上同一个音频只能播放一次

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug innerAudioContext.onPlay 客户端 iOS 6.6.5 1.9.1

在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-03-27  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

4 个回答

  • Special
    Special
    2018-03-27

    麻烦给个相关的代码片段(https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/minicode.html),我们定位下问题

    2018-03-27
    赞同
    回复
  • Aimee
    Aimee
    2018-03-27

    代码片段 wechatide://minicode/sJ7YCeme63YU

    请用苹果手机测试,点击页面的6s可听语音,再次点击后没有声音


    2018-03-27
    赞同
    回复 1
    • 轻语
      轻语
      2018-07-12

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

      2018-07-12
      赞同
      回复
  • 钱萌
    钱萌
    2018-09-07

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

    2018-09-07
    赞同
    回复