iOS微信背景音乐自动播放及控制所有应用都有其对应的应用场景,没有最好只有适合。我不喜欢背景,因为我不太擅长css布局。目的是完成一些营销活动的H5页面,涉及一些互动游戏、音视频、动漫等。使用css个人感觉有点麻烦,所以进入了Canvas方案。对比几款h5游戏引擎,LayaAir支持As、Ts、Js三种开发方式,号称性能非常好。于是直接上手。首先遇到的问题是音频,不是引擎本身,而是iOS机制。iOS设备浏览器只能在用户触发的点击事件中播放,否则会被屏蔽,只需要触发一次即可。向上。各种通过js模拟的点击事件是不行的,必须用户主动点击。幸运的是,大部分活动都是基于微信客户端。只考虑微信环境。原生Safari下还是没办法。解决的原理是一样的。通过微信的jssdk事件,一定要考虑jssdk的引入初始化是否完成//在页面写一个id为bgm的音频标签//方法1try{window.WeixinJSBridge.invoke("getNetworkType",{},背景音乐播放);}catch(e){bgmPlay();}functionbgmPlay(){$("#bgm")[0].play();}//方法二wx.ready(function(){bgmPlay();});其实LayaAir中有一个音频管理类laya.media.SoundManager,它是基于h5的webAudioApi。但是如果你使用它,你必须等到引擎初始化完成,这里就会有问题。那我一定要把jssdk初始化放在engine初始化之后,会有一段空白的时间。用户此时可以共享。不会调用jssdk的自定义share。由于背景音乐只有一首,而且可以通过标签创建和获取,所以只用原生的播放和暂停来控制暂停和关闭就足够了,所以决定背景音乐、游戏音效直接使用原生的js控件效果和一些同步的多音频播放被移交给引擎控制。
