/ facebook instant game

#Laya 游戏在iOS平台静音后还在继续播放音乐

问题背景

近期经常有小游戏在提审时,被Facebook打回来。

理由是:iOS上静音后,游戏仍然在播放声音。

iPhone-mute-button

Facebook给的建议是:

响应移动设备上的物理静音开关(我们推荐使用 WebAudio API)

Facebook-instant-game-ios-mute-01

可是,Laya里怎么改用WebAudio呢?

通常我们是直接用Laya.SoundManager.PlayMusic来播放的

Laya.SoundManager.playMusic("sounds/bgm.mp3");

解决方法

原来,Laya.SoundManager支持两种播放接口,而默认使用的是Audio标签这种方案:

<audio></audio>

解决方案
不使用Audio标签方案。

具体做法
需要在游戏初始化之后,首次播放音乐之前,添加以下代码:

Laya.SoundManager.useAudioMusic = false;

搞定。