我正在使用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);
}
但是,如果音乐在启动应用程序之前播放,它会在打开游戏后继续播放。但是,如果我开始游戏,然后按主页按钮,然后播放音乐,然后返回游戏,音乐停止。
有没有人遇到过类似情况?请帮忙!
谢谢
答案 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);