autio的自动播放问题

最近做年会相关内容,背景音乐插入了,电脑上没问题,移动版就出事了,下面做一下记录

 <audio src="" autoplay="autoplay" loop="loop" id="audio" preload="auto"></audio>
在 JS中
var flag=0; //为了保证只有第一次 触发事件的时候 进行 播放 后面 将方法制空
var audio=document.getElementById('audio');
$('html').on('touchstart',function(){
if(!flag){
audio.load(); //IOS 9 必须load一下
audio.play(); //IOS 7/8 直接使用
flag=1;
}
});
 
http://www.cnblogs.com/aaronjs/p/4812119.html
暂停/播放音乐的js
var myAudio = document.getElementById('audio');
    function playPause(){
        if(myAudio.paused){
            myAudio.play();
        }else{
            myAudio.pause();
        }
    }

在audio标签里引入了autoplay属性;经过测试发现Android上可以自动播放,ios上无法自动播放。

<audio src="Cure.m4a" autoplay="autoplay" loop="loop" id="audio" preload="auto"></audio>

在js文件中执行audio.play();

经过测试发现Android上可以自动播放,ios上无法自动播放。

 myAudio.play();
 

解决办法

1.方法一  ps:此方法转载自(http://www.cnblogs.com/xiezhonglong/p/5780942.html)

//使用微信现在提供过的微信js-sdk 在ready中进行播放便可。

//首先引用js : 
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

//然后写方法 : 

function autoPlayAudio1(){
  wx.config({
// 配置信息, 即使不正确也能使用 wx.ready
    debug: false,
    appId: ‘‘,
    timestamp: 1,
    nonceStr: ‘‘,
    signature: ‘‘,
    jsApiList: []
  });
  wx.ready(function() {
    document.getElementById(‘audio‘).play();
  });
}
autoPlayAudio1();

2、方法二

var audio=document.querySelector("#audio");
    document.addEventListener("WeixinJSBridgeReady",function(){
	audio.play();
    },false);
原文地址:https://www.cnblogs.com/GoTing/p/6270061.html