微信小程序 手机无法播放音频 InnerAudioContext音频 (开发者工具可以播放)

问题描述

问题代码:

click: function (event) {
    let InnerAudioContext = wx.createInnerAudioContext()
    InnerAudioContext.src ="cloud://xxxxxxxx/1.wav";
    InnerAudioContext.play();
}

在开发者工具中,使用模拟器点击按钮可以播放音频。

但是,使用手机端,在预览和真机调试中

都无法播放音频。

并且使用console.log都可以打印出音频在云存储中存储的地址。

问题解决

经过搜寻资料,查看微信小程序的官方文档:

InnerAudioContext | 微信开放文档

 InnerAudioContext包含很多参数:

string src

音频资源的地址,用于直接播放。2.2.3 开始支持云文件ID

number startTime

开始播放的位置(单位:s),默认为 0

boolean autoplay

是否自动开始播放,默认为 false

boolean loop

是否循环播放,默认为 false

boolean obeyMuteSwitch

是否遵循系统静音开关,默认为 true。当此参数为 false 时,即使用户打开了静音开关,也能继续发出声音。从 2.3.0 版本开始此参数不生效,使用 wx.setInnerAudioOption 接口统一设置。

经过尝试,发现autoplay默认设置为false,在代码中设置 autoplay为true即可解决问题。

修改后,代码片段如下:

click: function (event) {
    let InnerAudioContext = wx.createInnerAudioContext()
    InnerAudioContext.autoplay = true
    InnerAudioContext.src ="cloud://xxxxxxxx/1.wav";
    InnerAudioContext.play();
}

即可在手机端正常播放音频。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

licy__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值