收藏
回答

请教思路,关于连续播放音乐,如何实现好?

如题,播放动态生成的音频列表

我想到的是方法是

用定时器的方法检测当前音频是否播放结束

或者用onEnded回调函数播放下一首

两个方法感觉很low,应该也容易引发程序bug

所以哪位大神,给一个好的思路

跪拜

回答关注问题邀请回答
收藏

1 个回答

  • 厂危,速归。
    厂危,速归。
    2020-04-14
    //提供一种思路 不知是否可行。
    
    const music = wx.createInnerAudioContext()
    data: {
      list: [{
        title: "",
        src: ""
      }, {
        title: "",
        src: ""
      }],
      index: 0
    },
    onLoad(options) {
      this.initMusic()
    },
    initMusic(){
      const {list = [], index = 0} = this.data
        startPlay()
        function startPlay(){
          music.title = list[index].title
          music.setSrc = list[index].src
          music.onEnded(() => {
            this.setData({
              index: index + 1
            }, () => {
                startPlay()
            })
          })
        }
     }
    
    2020-04-14
    有用 1
    回复 2
    • 星夜流光
      星夜流光
      2020-04-14
      谢谢,都把代码给出来了。我目前也采用这个onEnded套入play的方法,但感觉这个做法不好
      2020-04-14
      回复
    • 厂危,速归。
      厂危,速归。
      2020-04-14回复星夜流光
      这个需要判断list的index找不到了的情况。只是提供个思路。我也没搞过这个。。
      2020-04-14
      回复
登录 后发表内容
问题标签