这个问题可能看起来很简单。我正在做一个游戏项目,所以现在我需要实现一个声音引擎。
我有几个音频文件要播放。我这样做:
File file = new File("music.mid");
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file);
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start();
现在我正在尝试缓存这些文件以通过 HashMap 提高性能:
private HashMap<String, File> cache = new HashMap(); //name - key & file - res
我检查 hashmap 中的文件,如果存在则将其取出并重用。
但是,每次我需要播放文件时,似乎仍然会下载音频资源。 (可能是输入流再次生成左右)
游戏每次都开始滞后。
您能否向我展示一种缓存.mid
文件的适当方式,以便可以在应用程序中快速访问和播放它们?