“ AL lib:alc_cleanup:1设备未关闭”是什么意思?

我正在尝试将自己投入到Libgdx

OpenGL框架中。我曾经用来LwjglApplication创建一些简单的应用程序,这些应用程序可以渲染盒子,一些网格物体和一些纹理。我遇到了Aurelien

Ribon的应用程序,该应用程序创建了刚性的Box2D实体。他使用LwjglCanvas来与Java的Swing集成。我尝试自己制作一个,JFrame然后创建了一个,然后添加了LwjglCanvas。然后将JFrame的默认操作设置为EXIT_ON_CLOSE

但是,每次我关闭应用程序时,都会记录到控制台:

AL lib: alc_cleanup: 1 device not closed

我不知道这意味着什么,也没有对我造成任何伤害。我只想知道这是什么意思。根据LwjglCanvas文档:

All OpenGL calls are done on the EDT. This is slightly less efficient then a

dedicated thread, but greatly simplifies synchronization. Note that you may

need to call stop() or a Swing application may deadlock on System.exit due to

how LWJGL and/or Swing deal with shutdown hooks.

LwjglCanvas.stop()应该在哪里绑定,应该将其添加到EventDispatchThread队列还是应该将其绑定到JFrame.addWindowListener

“ AL lib:alc_cleanup:1设备未关闭”的真正含义是什么?

非常感谢!

回答:

AL库是Libgdx(OpenAL变体之一)使用的“音频库”。

我相信此消息仅表示音频库正在为您清理一些(在您的情况下为一个)音频流/句柄。如果您在退出时看到此消息,则该消息无害,因为操作系统将清除所有资源。

如果您在退出前在内部清理音频,则该消息应消失。

有关更多详细信息,请alc_cleanup在此处查找:[http](http://repo.or.cz/w/openal-

soft.git/blob/HEAD:/Alc/ALc.c) : [//repo.or.cz/w/openal-

soft.git/blob/HEAD](http://repo.or.cz/w/openal-soft.git/blob/HEAD:/Alc/ALc.c)

/Alc/ALc.c

以上是 “ AL lib:alc_cleanup:1设备未关闭”是什么意思? 的全部内容, 来源链接: utcz.com/qa/436285.html

回到顶部