Cordova导出的Construct 2游戏音频问题的实现解决方案

Implementation workaround for audio issues for Cordova exported Construct 2 games

本文关键字:问题 音频 实现 解决方案 游戏 Construct Cordova      更新时间:2023-09-26

我正在使用Construct 2创建一款游戏,但在Android智能手机上预览时,我发现音频播放和延迟问题:

这可能是Web Audio API的诅咒,因为许多浏览器要求用户先触摸屏幕,否则不会播放音乐。更糟糕的是,如果要播放另一首音乐,用户必须再次触摸屏幕。这是这些智能手机浏览器的"设计"。似乎只有Firefox允许播放音乐而无需用户启动触摸。

我已经看到这个问题已经被覆盖了好几次(例如:网站HTML 5音频自动播放和https://stackoverflow.com/a/22331782/144201),一些可能的建议包括完全使用其他音频javascript库,如SoundJS和howler.js。

有没有人有经验带来这样的音频库,可以解决上面的Cordova Android导出选项的问题?它是否适用于所有Android设备?事实上,谁能给我提供一个HTML5游戏/页面/应用的链接,用C2导出,使用这样的音频库和播放音乐,而不需要用户在Android上初始触摸,这样我就可以检查?我只是想确认这真的是可能的。

或者构造2有更优雅的方式吗?

在浏览器上预览有"用户必须触摸屏幕一次"的问题,因为它是"由设计"。但如果C2应用程序通过Cordova导出并使用Crosswalk,则游戏可以播放音乐而无需用户先触摸屏幕。

参见https://www.scirra.com/tutorials/809/how-to-export-to-android-with-crosswalk。尽管该教程对于当前的Intel XDK来说已经过时了,但其说明或多或少是相同的。但是,较新的C2版本也会在Cordova导出上创建一个.xdk文件。在Intel XDK中,你必须"打开一个Intel XDK项目"而不是"导入一个现有的HTML5项目"。详见https://software.intel.com/en-us/forums/intel-xdk/topic/607195