如果游戏启动然后暂停,则libGDX RoboVM allowIpod不起作用

时间:2014-05-05 13:13:09

标签: ios libgdx robovm

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

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

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

有没有人遇到过类似情况?请帮忙!

谢谢

1 个答案:

答案 0 :(得分:2)

根据ObjectAL docs(这是libGDX IOSAudio使用的),您需要在OALSimpleAudio sharedInstance上将useHardwareIfAvailable设置为false。这应该允许您背景应用程序,启动音乐,并继续播放音乐。

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);