0

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

它在加载时弹出一个错误,提示“找不到合适的加载方法”。不确定“没有合适的方法”在这里是什么意思,因为谷歌搜索显示它非常特定于之后的功能,在我的情况下是“加载”。有什么帮助吗?

4

1 回答 1

0

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

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

您的第一个参数必须是 String 而不是 FileHandle。

试试这个:

FileHandle sounds=Gdx.files.internal("Sound");
for (FileHandle file: sounds.list()){
    manager.load("Sound/" + file.name(), Music.class);
}
manager.finishLoading();
于 2019-06-17T08:21:48.967 回答