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