Java - LWJGL - OpenAL - 理解一些代码

标签 java lwjgl openal

hell 编码员,我目前正在使用 LWJGL 学习 OpenAL,我无法理解这些代码行的作用(这些注释代表了我认为他们正在做的事情,您可以告诉我正确的事情吗?我已经阅读了 Javadocs 和我什么都不明白。我用谷歌搜索了又搜索。)

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.

请帮助我成为一名更好的程序员。 问候 ~ Teo

最佳答案

正如您在这里看到的:https://github.com/LWJGL/lwjgl/blob/master/src/java/org/lwjgl/util/WaveData.java data.dispose() 清除 ByteBuffer,它不会丢弃数据,而是重置读/写位置(参见 http://docs.oracle.com/javase/7/docs/api/java/nio/Buffer.html#clear%28%29 )

关于Java - LWJGL - OpenAL - 理解一些代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20690011/

相关文章:

java - 缓冲区下溢?

java - 如何在运行时从连接对象中获取 JDBC Driver 类名?

java - 在 OpenGL 中使用十六进制颜色

fullscreen - LWJGL 全屏不工作

OpenAL - 如何播放不衰减的音效?

c++ - 音频输出到 .wav 文件是有效的,但是当用 Vorbis 编码时,它记录静音?

java - 检测 View 是否添加到布局中

java - 如何使用 SlidingMenu 库

java - 一个 VBO 中有多个 Cube

objective-c - 使用回调确定 OpenAL 何时完成播放音频