评论

微信小程序顺序播放音频和同步播放多个音频

微信小程序顺序播放音频和同步播放多个音频

顺序播放音频使用的是递归函数:

     // 需要顺序播放音频的位置

       let arr = res.data.response.arr,   //需要播放的音频地址数组

       currentIndex = 0;

       if(arr.length>0){

         this.play(arr, currentIndex);  //调用递归函数

        }else{

          console.log('暂无语音提醒!');

        }

     // 播放音频的递归函数: 

     play(arr, currentIndex){

       let InnerAudioContext = wx.createInnerAudioContext()

       InnerAudioContext.src = arr[currentIndex];

       InnerAudioContext.play();

       InnerAudioContext.onEnded((res) => {

           if(currentIndex < arr.length){

             this.play(arr, currentIndex+1);

           }

         })

      }

同步播放多个音频使用的是for循环:

       let arr = res.data.response.arr;  //需要播放的音频地址数组

       if(arr.length>0){

        for(let i of arr){

 let InnerAudioContext = wx.createInnerAudioContext()

       InnerAudioContext.src = i;

       InnerAudioContext.play();

}

        }else{

          console.log('暂无语音提醒!');

        }

最后一次编辑于  2020-12-11  
点赞 2
收藏
评论

4 个评论

  • 土豆思思•﹏•
    土豆思思•﹏•
    11-05

    使用 AudioBufferSourceNode 连续播放多个音频片段可能会出现杂音问题,这个是怎么解决的呢。

    11-05
    赞同
    回复
  • ellie ઈ(◕ั◡◕ั)☄
    ellie ઈ(◕ั◡◕ั)☄
    2023-09-15

    感谢分享~!按这个方式终于可以了~

    2023-09-15
    赞同
    回复
  • 熊💫
    熊💫
    2022-09-07

    同步播放多个音频,安卓和开发者工具测试没问题,iOS真机下测试只播放最后一个音频。。。

    2022-09-07
    赞同
    回复
  • 无眠
    无眠
    2021-08-09

    使用递归的方式那要怎么暂停播放0.0

    2021-08-09
    赞同
    回复
登录 后发表内容