Java-LWJGL-OpenAL-理解一些代码
地狱程序员们,我目前正在学习LWJGL的OpenAL,我不明白这些代码行是做什么的(这些注释代表了我认为他们在做什么,请告诉我正确的事情,我已经阅读了Javadocs,但什么都不懂。我一直在谷歌上搜索。) 请帮助我成为一名更好的程序员。Java-LWJGL-OpenAL-理解一些代码,java,lwjgl,openal,Java,Lwjgl,Openal,地狱程序员们,我目前正在学习LWJGL的OpenAL,我不明白这些代码行是做什么的(这些注释代表了我认为他们在做什么,请告诉我正确的事情,我已经阅读了Javadocs,但什么都不懂。我一直在谷歌上搜索。) 请帮助我成为一名更好的程序员。 您可以在这里看到~Teo:data.dispose()清除ByteBuffer,它不会丢弃数据,而是重置读/写位置(请参见)其他的呢?因此,在读/写缓冲区之前先释放()。顺便说一下,我在没有数据的情况下测试了它;是的,它在这个用例中工作得很好。但是,假设您在应用
您可以在这里看到~Teo:data.dispose()清除ByteBuffer,它不会丢弃数据,而是重置读/写位置(请参见)其他的呢?因此,在读/写缓冲区之前先释放()。顺便说一下,我在没有数据的情况下测试了它;是的,它在这个用例中工作得很好。但是,假设您在应用程序的其他地方希望再次流式处理缓冲区。您希望从头开始,但缓冲区中的内部位置指向其他位置。因此,在执行alBufferData()之后还是在再次使用之前调用data.dispose.dispose?
WaveData data = WaveData.create(new BufferedInputStream(new FileInputStream("res/sound.wav")));//generate data from the file (binary data?)
int buffer = alGenBuffers();//generate an empty buffer
alBufferData(buffer,data.format,data.data,data.samplerate);//assign previously generated data to buffer
data.dispose();//what does this line do? (I can not understand what dispose means. Throw away or give the data?)
int source = alGenSources();//generate source(What does source mean here?)
alSourcei(source , AL_BUFFER, buffer);//set a property the the source. arg # 1 is the property type , arg # 0 is the source to set the property at and arg # 3 is the value to pass as a property.