“找不到适合的加载方法”怎么了?

时间:2019-06-17 07:51:41

标签: java audio libgdx android-assetmanager

在android中运行我的应用程序时声音无法播放,因此建议的解决方法包括AssetManager来预加载文件:我想在类初始化时预加载所有文件,稍后再在子函数中播放。

应该在类中全局使用管理器,但是似乎定义不是问题(尝试本地实现,相同错误)。

代码如下:

public AssetManager manager=new AssetManager();

public InterpreterAudioPlugin() {
    //Preload all sounds
    FileHandle sounds=Gdx.files.internal("Sound");
    for (FileHandle file: sounds.list()){
        manager.load(Gdx.files.internal(file.toString()),Music.class);
        manager.finishLoading();
    }

它在加载时弹出错误,提示“找不到适合的加载方法”。不确定“没有合适的方法”在这里是什么意思,因为对其进行谷歌搜索后发现它是非常特定于函数的,在我的情况下是“加载”。有帮助吗?

1 个答案:

答案 0 :(得分:0)

不存在采用参数:FileHandle和Class的方法load()。 可能的加载方法是:

load(AssetDescriptor)
load(String, Class)
load(String, Class, AssetLoaderParameters)

您的第一个参数必须是字符串,而不是FileHandle。

尝试一下:

FileHandle sounds=Gdx.files.internal("Sound");
for (FileHandle file: sounds.list()){
    manager.load("Sound/" + file.name(), Music.class);
}
manager.finishLoading();