“ 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