4

我正在使用 libGDX 和 Robovm 为 iOS 开发游戏;但是,我需要让用户可以在玩游戏时保持播放背景音乐(ipod 或其他应用程序)。我将配置参数添加allowIpodIOSApplication

protected IOSApplication createApplication() {
    IOSApplicationConfiguration config = new IOSApplicationConfiguration();
    config.orientationLandscape = true;
    config.orientationPortrait = false;
    config.allowIpod = true;
    return new IOSApplication(new Game(), config);
}

但是,如果音乐在启动应用程序之前播放,它会在打开游戏后继续播放。但是,如果我开始游戏,然后按主页按钮,然后播放音乐,然后返回游戏,音乐就会停止。

有没有人遇到过类似的情况?请提供任何帮助!

谢谢

4

1 回答 1

2

根据 ObjectAL文档(这是 libGDX IOSAudio 使用的),您需要useHardwareIfAvailablefalseOALSimpleAudio sharedInstance 上设置。这应该允许您将应用程序设置为背景,开始播放音乐,并让音乐继续播放。

OALSimpleAudio.sharedInstance().setUseHardwareIfAvailable(false);

但是,这当前未绑定在 libGDX OALSimpleAudio RoboVM 绑定中,因此您需要修改 libGDX RoboVM 后端中的 OALSimpleAudio 源以访问该属性。类似(未经测试):

@Property(selector = "getUseHardwareIfAvailable")
public native boolean getUseHardwareIfAvailable()

@Property(selector = "setUseHardwareIfAvailable:")
public native void setUseHardwareIfAvailable(boolean b);
于 2014-07-31T20:56:10.500 回答