"no suitable method found for load" 怎么了?

What's wrong with "no suitable method found for load"?

当 运行 我的应用程序在 android 时声音不播放,因此建议的解决方法包括 AssetManager 预加载文件:我想在 class 初始化并播放时预加载所有文件稍后在子功能中。

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

代码如下:

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

它在加载时弹出错误提示 "no suitable method found for load"。不确定 "no suitable method" 在这里是什么意思,因为谷歌搜索显示它非常特定于之后的函数,在我的例子中是 "load"。有帮助吗?

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

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

您的第一个参数必须是字符串而不是文件句柄。

试试这个:

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