小程序跳转到H5音乐播放的问题

首先是iOS无法自动播放音乐的问题,iOS需要交互才能播放音频.

其次是小程序跳转H5之后切出,小程序转后台运行,音乐仍然会继续播放跟这个可以同时解决.

  'visibilitychange' 在浏览器标签页被显示或隐藏的时候触发该事件,于是我们就可以在页面初始化的时候就监听这个事件,然后在监听的回调里面来控制音乐.

 1     autoplay() {
 2       let audio = this.$refs.MusicPlay;
 3       this.$wx.miniProgram.getEnv(res => {//判断是否处在小程序环境中
 4         if (res.miniprogram) {
 5           audio.play();
 6           this.musicFlag = true;
 7           audio.volume = 0.8;
 8         }
 9       });
10       document.addEventListener("visibilitychange", () => {//初始化监听事件
11         if (document.hidden) {    //页面隐藏则关闭音乐
12           audio.pause();
13         } else {
14           if (this.musicFlag) {
15             setTimeout(() => {
16               audio.play();
17               this.musicFlag = true;    //控制音乐图标变化
18             }, 2000);
19           }
20         }
21       });
22     }

这俩问题这样就可以解决啦

posted @ 2020-03-13 11:01  子非子非鱼  阅读(426)  评论(0)    收藏  举报