使用Libgdx RoboVM构建的游戏无法在iPad上播放声音

时间:2016-03-30 01:49:15

标签: ipad audio libgdx robovm

我使用Libgdx创建了一个非常简单的游戏。当使用按下按钮时,屏幕上会有一些按钮播放特定的声音文件。

我将声音初始化为:

Sound mysound = Gdx.audio.newSound(Gdx.files.internal("sounds/mysoundfile.mp3"));

我这样玩:

mysound.play();

在Windows桌面,Mac桌面(El Capitan)和Android(在Galaxy Tab 10.1和Sony Z3上测试)以及我的iPod Touch上,一切都运行良好。

然而,当我在iPad Air(MD785LLB)上运行游戏时,声音将无法播放。音量调高,我可以在设备上播放其他音乐和声音(游戏外)并且工作正常。但游戏不会发出任何声音。没有记录任何错误消息,但扬声器没有播放任何内容。

最初我的声音文件是mp3,但我也试过转换为wav并且没有改变行为,仍然没有播放声音。

编辑:游戏运行正常并在iPad Air和iPad Air 2模拟器上播放声音。模拟器列在版本9.2。

1 个答案:

答案 0 :(得分:1)

事实证明,iPad的音量按钮附近有一个硬件开关。此开关用作某种静音和屏幕旋转锁定。

Libgdx / RoboVM以及其他类型的游戏似乎受到此交换机静音功能的影响。但是一些其他类型的声音不像播放音频文件那样,并且在safari中的页面上有html5 <audio>标签,无论交换机处于什么位置,这两种声音仍然有效。

我移动了开关,直到没有显示橙色,然后游戏才能成功播放声音。