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

我正在使用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);
}

但是,如果在启动应用程序之前播放音乐,则会在打开游戏后继续播放.但是,如果我开始游戏,然后按Home键,然后播放音乐,然后返回游戏,音乐停止.

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

谢谢

最佳答案 根据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);
点赞