解决微信播放背景音乐

待完善中....

<script type="text/javascript"> 
    var firstTouch = true; 
    $('body').bind("touchstart",function(e){ 
        if ( firstTouch ) { 
            firstTouch = false; 
            document.getElementById('bgm').play(); 
        }else{ 
            return; 
        } 
    }); 
</script>

  

  

1) 原理就是若遇到禁止自动播放的手机,用户第一次触摸屏幕的时候就执行播放事件.

2)原理就是通过new一张图片,监听一张图片的onload事件,结束后回调执行音频播放audio.play()即可,原理估计是动了dom结构,相当于执行了一次交互。

1.音乐不宜过长,30s为佳,而且音乐要加上渐现渐隐效果,方便循环播放;
2.音乐体积要小,音质和流量,在手机上还是优先考虑流量吧。

 
一般背景音乐体积可以接受的范围是200K以下,若太大,可以使用格式工厂等软件,降低它的比特率和声道来改变体积。
//微信自有事件,我理解想要调用微信方法,必须要注册这个方法之后才可以调用微信功能
document.addEventListener("WeixinJSBridgeReady",function() {
  //获取网络状态
    window["WeixinJSBridge"].invoke('getNetworkType',{},function(e) {
   //音频播放
     document.getElementById("sound").play();
     document.getElementById("sound").pause();
 
   //视频播放
    document.getElementById("video").play();
    document.getElementById("video").pause();
   });
},false);


//下面代码等同于上面代码。
function onBridgeReady(){
 WeixinJSBridge.call('hideOptionMenu');
}

if (typeof WeixinJSBridge == "undefined"){
    if( document.addEventListener ){
        document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
    }else if (document.attachEvent){
        document.attachEvent('WeixinJSBridgeReady', onBridgeReady); 
        document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
    }
}else{
    onBridgeReady();
}

官方连接:http://qydev.weixin.qq.com/wiki/index.php?title=WeixinJS%E6%8E%A5%E5%8F%A3&oldid=287

原文地址:https://www.cnblogs.com/izengbin/p/6847655.html