收藏
回答

getBackgroundAudioManager跳页后播放问题

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug getBackgroundAudioManager 工具 2.14.0 2.14.0

在A页面播放背景音乐,切换到B页面后,音乐继续播放,但是无法获取播放状态

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

3 个回答

  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    2020-11-24

    你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    2020-11-24
    有用
    回复 7
    • :P:P:P:P
      :P:P:P:P
      2020-11-24
      页面跳转后无法获取上一个页面设置的背景音乐监听
      2020-11-24
      回复
    • 社区技术运营专员-Jahozheng
      社区技术运营专员-Jahozheng
      2020-11-24回复:P:P:P:P
      麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
      2020-11-24
      回复
    • :P:P:P:P
      :P:P:P:P
      2020-11-24回复社区技术运营专员-Jahozheng
      //监听音乐播放
          app.appMusic.onPlay(() => {
            console.log('音乐播放了');
            this.setData({
              isStart: true
            })
          });
          //监听音乐暂停
          app.appMusic.onPause(() => {
            console.log('音乐暂停了');
            this.setData({
              isStart: false
            })
          });
          //监听音乐停止
          app.appMusic.onStop(() => {
            console.log('音乐停止了')
            this.setData({
              isStart: false
            })
          })
          //监听到音乐播放完了
          app.appMusic.onEnded(() => {
            app.appMusic.play();
          })
      2020-11-24
      回复
    • 社区技术运营专员-Jahozheng
      社区技术运营专员-Jahozheng
      2020-11-24回复:P:P:P:P
      请根据链接给代码片段
      2020-11-24
      回复
    • :P:P:P:P
      :P:P:P:P
      2020-11-25回复社区技术运营专员-Jahozheng
      ,,,,我那个就一个监听背景音乐的,全部就这些,还能什么片段
      2020-11-25
      回复
    查看更多(2)
  • 华
    2021-01-19
    /**
       * 生命周期函数--监听页面初次渲染完成
       */
      onReady: function () {
        // 获取BackgroundAudioManager 实例
        this.back = wx.getBackgroundAudioManager()  
        // 对实例进行设置
        // 设置了 src 之后会自动播放(src为云开发中云存储空间文件的链接)
        this.back.src = "" 
        this.back.title = '夜的钢琴曲'   // 标题为必选项
        this.back.play()               // 开始播放
        // 背景音乐循环的方法
        var that = this.back
        // 1、onEnded监听播放自然结束
        this.back.onEnded (function(){
          // 2、必须重新设置src才能循环之后会重新自动播放
          that.src = ""
        })
      },
      handleProxy() { 
        this.back.pause(); // 点击音乐图标后出发的操作
        this.setData({ on: !this.data.on })
        if (this.data.on) { 
          this.back.play();
          // toast 提示信息
          var that = this;
          this.setData({
            showModal: true  // 显示 toast
          })
          // 定时器 500ms 关闭toast
          setTimeout(function() {
            that.setData({
              showModal: false  
            })
          },500)
          console.log("背景音乐已开启");
        }else{
         this.back.pause();
          // toast 提示信息
          var that = this;
          this.setData({
            showModalh:true  // 显示 toast
          })
          // 定时器 500ms 关闭toast
          setTimeout(function() {
            that.setData({
              showModalh: false
            })
          },500)
         console.log("背景音乐已暂停");
        }
      },
      
      /**
       * 生命周期函数--监听页面显示
       */
      onShow: function () {
        // 切换页面时,再次回到原页面,
        // 1.onHide() 中使用 pause() 会继续播放背景音乐
        // 1.onHide() 中使用 stop()  会重新播放背景音乐
        this.onReady()
      },
      
      /**
       * 生命周期函数--监听页面隐藏
       */
      onHide: function () {
        // 页面隐藏时,暂停背景音乐
        let that = this.back;
        // that.pause();  //当重新回到原页面时,继续播放
        that.stop(); //当重新回到原页面时,重新播放
      },
    
    
    
    2021-01-19
    有用
    回复
  • Shine~
    Shine~
    2021-01-18

    请问这个问题你解决了吗?我也遇到了同样的问题

    2021-01-18
    有用
    回复 4
    • 华
      2021-01-19
      2021-01-19
      回复
    • 华
      2021-01-19
      代码在下面,你可以参考一下,希望对你有帮助
      2021-01-19
      回复
    • Shine~
      Shine~
      2021-01-20回复
      嗯嗯,非常感谢!
      2021-01-20
      回复
    • 华
      2021-01-20
      不客气呢
      2021-01-20
      回复
登录 后发表内容
问题标签