1. 因为我这边是一个自定义的弹窗组件,需要弹窗加载出来后再播放,所以在Component 中的methods中 定义 播放方法,
// 创建 InnerAudioContext 上下文对象,先声明,一次可以
代码如下: const innerAudioContext = wx.createInnerAudioContext({})
yuyinPlay() {
innerAudioContext.src = this.data.audioPath
// 设置自动播放
innerAudioContext.autoplay = true
// 设置循环播放
innerAudioContext.loop = false
// 设置音量
innerAudioContext.volume = 0.5
innerAudioContext.play()
},
2. 在展示弹窗方法中调用 该方法即可,由于我这边还需要监听语音从播放到自然结束的一个状态,去更换页面的图片,所以需要用到onEnded 事件
//展示弹框
showPopup() {
let that = this
that.setData({
isShow: !that.data.isShow, // 控制弹窗展示
audioPath: that.properties.obj.videoSrc, // 父组件传来的参数
imgPath: 'https://' // 一开始播放时展示的图片
})
that.yuyinPlay()
innerAudioContext.onEnded(function (r