微信小程序播放音频,ios静音状态下无声音、音频播放创建多个等问题

首先需要全局设置ios静音模式下播放声音,当然此方法也可以设置其他参数,[微信开发文档地址]

wx.setInnerAudioOption(Object object)

基础库 2.3.0 开始支持,低版本需做兼容处理

本接口从基础库版本 2.10.0 起支持在小程序插件中使用

设置 InnerAudioContext 的播放选项。设置之后对当前小程序全局生效。

参数

Object object

属性类型默认值必填说明
mixWithOtherbooleantrue是否与其他音频混播,设置为 true 之后,不会终止其他应用或微信内的音乐
obeyMuteSwitchbooleantrue(仅在 iOS 生效)是否遵循静音开关,设置为 false 之后,即使是在静音模式下,也能播放声音
speakerOnbooleantruetrue 代表用扬声器播放,false 代表听筒播放,默认值为 true。
successfunction 接口调用成功的回调函数
failfunction 接口调用失败的回调函数
completefunction 接口调用结束的回调函数(调用成功、失败都会执行)

 

注意:千万不要用innerAudioContext.obeyMuteSwitch = false;,2.3.0 版本开始此参数不生效

注意:千万不要用innerAudioContext.obeyMuteSwitch = false;,2.3.0 版本开始此参数不生效

注意:千万不要用innerAudioContext.obeyMuteSwitch = false;,2.3.0 版本开始此参数不生效

在app.js中

onLaunch() {
   wx.setInnerAudioOption({
      obeyMuteSwitch: false,
    })
}

为防止创建多个音频播放,我这里采用全局创建的方式,通过停止、更换播放地址、播放等进行重新播放

const innerAudioContext = wx.createInnerAudioContext() //创建全局音频管理器
//在页面显示的时候写入对音频的播放进行监听
onShow(){
   //监听播报的事件
    innerAudioContext.onPlay(() => {
      console.log('开始播放');
    })
    //监听播报出错的事件
    innerAudioContext.onError(() => {
      console.log("监听音频播放出错事件")
    })
    innerAudioContext.onEnded(() => {
      console.log("监听播放结束事件")  
      //这里可以写入一些播放结束后的逻辑
    })
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

黎轩栀海

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

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

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

打赏作者

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

抵扣说明:

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

余额充值