我正在使用Construct 2创建一个游戏,但在Android智能手机上预览时,我发现了音频播放和延迟问题:
这可能是Web Audio API的诅咒,因为许多浏览器要求用户首先触摸屏幕,否则将不会播放音乐。更糟糕的是,如果要播放另一首音乐,用户必须再次触摸屏幕。这是这些智能手机浏览器的“设计”。似乎只有Firefox允许在没有用户启动触摸的情况下播放音乐。
我已经看到这个问题已经被讨论过好几次了(例如:Website HTML 5 Audio Autoplay和https://stackoverflow.com/a/22331782/144201),一些可能的建议包括完全使用其他音频javascript库,如SoundJS和howler.js。
有没有人有经验为Cordova Android导出选项引入这样的音频库来解决上面的问题?它能在所有的Android设备上工作吗?事实上,有没有人能给我提供一个用C2导出的HTML5游戏/页面/应用程序的链接,它使用这样的音频库并播放音乐,而不需要用户在Android上的初始触摸,这样我就可以检查了?我只想确认这真的是可能的。
还是有一种更优雅的方式来构建2?
发布于 2016-09-13 17:11:27
在浏览器上预览有“用户必须触摸屏幕一次”的问题,因为它是“设计的”。但如果C2应用程序通过科尔多瓦导出,并使用Crosswalk,游戏就可以播放音乐,而不需要用户先触摸屏幕。
参见https://www.scirra.com/tutorials/809/how-to-export-to-android-with-crosswalk。尽管本教程对于当前的英特尔XDK来说已经过时,但其说明基本相同。但是,较新的C2版本也会在Cordova导出时创建.xdk文件。在英特尔XDK中,必须“打开英特尔XDK项目”,而不是“导入现有的HTML5项目”。有关详细信息,请参阅https://software.intel.com/en-us/forums/intel-xdk/topic/607195。
https://stackoverflow.com/questions/39461239
复制相似问题