質問は本当に簡単に思えるかもしれません。私はゲーム プロジェクトに取り組んでいるので、今のところサウンド エンジンを実装する必要があります。
再生する音声ファイルがいくつかあります。私はこのようにします:
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
ハッシュマップでファイルをチェックし、存在する場合は取り出して再利用します。
ただし、ファイルを再生する必要があるたびに、オーディオ リソースがまだダウンロードされているようです。 (入力ストリームが再度生成される可能性があります)
そして、ゲームは毎回遅れ始めます。
.mid
アプリケーションですばやくアクセスして再生できるように、ファイルをキャッシュする適切な方法を教えてください。