场景
①
...
<T extends Disposable> T getAssets(String fileName, Class<T> clazz) {
if (!manager.isLoaded(fileName, clazz)) {
Gdx.app.log(tag, clazz.getSimpleName() + " 资源未加载 " + fileName);
manager.load(fileName, clazz);
manager.finishLoadingAsset(fileName);
}
return manager.get(fileName, clazz);
}
...
②
...
public Sound getSound(String fileName) {
return getAssets(fileName, Sound.class);
}
...
③
...
getSound("xxxxxxxxxxx").play();
...
环境
gdx 版本 1.9.2
- pc 平台可以正常播放
- android 平台(android 7.0)在程序首次加载该 sound 时不会播放声音。
原因
查看 android 日志,会打印如下日志
05-23 18:34:16.104 6469 6489 W SoundPool: sample 4 not READY
android 部分代码 Sound com.badlogic.gdx.backends.android.AndroidAudio.newSound(FileHandle file)
@Override
public Sound newSound (FileHandle file)