在Java中使用OpenAL (LWJGL)播放声音有问题。更糟糕的是,我不知道这个错误告诉了我什么。
AL lib: ReleaseALC: 1设备未关闭
现在,我确信文件位置是正确的,但是waveFile返回一个null,因此错误出现在第8行;当它试图从waveFile获取数据时。
FileInputStream fin = null;
try {
fin = new FileInputStream("res/FancyPants.wav");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
WaveData waveFile = WaveData.create(fin);
AL10.alBufferData(buffer.get(0), waveFile.format, waveFile.data, waveFile.samplerate);
waveFile.dispose();非常感谢。
发布于 2012-03-03 23:49:02
尝试将FileInputStream包装在BufferedInputStream中。就像这样。
FileInputStream fin = null;
BufferedInputStream bin = null;
try
{
fin = new FileInputStream("res/FancyPants.wav");
bin = new BufferedInputStream(fin);
}
catch(FileNotFoundException e)
{
e.printStackTrace();
}
WaveData waveFile = WaveData.create(bin);
AL10.alBufferData(buffer.get(0), waveFile.format, waveFile.data, waveFile.samplerate);
waveFile.dispose();https://stackoverflow.com/questions/9549759
复制相似问题