使用MOE在LibGDX中加载音频时出错

时间:2017-04-07 22:45:07

标签: ios libgdx intel robovm

我过去常常在RoboVM中加载音频文件没有问题,但现在我正在使用Multi-OS Engine在iOS中运行libGDX游戏。

这是我加载音频文件的代码:

Gdx.audio.newSound(Gdx.files.internal("sounds/pop.mp3"));

这就是我在控制台中看到的:

  

2017-04-07 17:27:13.871271-0500 FacesChess [2258:359966] OAL错误:    - [OALAudioFile initWithUrl:reduceToMono:]:无法打开url文件:///var/containers/Bundle/Application/344E150B-DDCA-45A7-B9A1-3EA14C60ECE6/FacesChess.app/assets/sounds/pop.mp3   (错误代码0x7768743f:未知的ext音频错误)2017-04-07   17:27:13.871403-0500 FacesChess [2258:359966] OAL错误:    - [OALSimpleAudio internalPreloadEffect:reduceToMono:]:无法加载效果   /var/containers/Bundle/Application/344E150B-DDCA-45A7-B9A1-3EA14C60ECE6/FacesChess.app/assets/sounds/pop.mp3

Moe插件版本:1.3.3 LibGDX版本= 1.9.6

我将我的mp3文件放在android模块的assets文件夹中。我的音频文件存在问题,图像也在同一个文件夹中,没有问题。

我在其他question中读到了这个:"在我的iOS项目中,iOS拾取声音的唯一地方是目录/ data / sounds"。但我还没有发现如何从数据文件夹中加载文件。我不明白iOS文件系统是如何工作的,可以找到文档here

1 个答案:

答案 0 :(得分:0)

问题是iOS音频框架无法从MOE生成的application.jar加载资源。因此,必须手动将音频资源添加到Xcode项目中。

为此,将资源文件夹从android / assets拖到Xcode中,确保选择“Create Folder References”。

Make sure to select "Create Folder References"

该文件夹必须命名为assets,因为LibGDX使用硬编码路径。文件夹应在Xcode中以蓝色显示,否则层次结构将无法正确捆绑。

This is how folder hierarchy should look like

感谢sAm_vdP获取badlogicgames.com forum中的答案。