I am trying to create another demo movie of my game, this time with audio, so I am following the instructions as given here.
However, after launching the project with JME, I get the following error and the game does not launch and it throws the error as given below.
C:\Users\Arjen\AppData\Local\Temp\JME-water-video6208345482123390329.avi
C:\Users\Arjen\AppData\Local\Temp\JME-water-audio6088969007000356926.wav
12-jan-2013 13:54:26 com.jme3.system.JmeDesktopSystem initialize
INFO: Running on jMonkeyEngine 3.0.0 Beta
12-jan-2013 13:54:26 com.jme3.system.Natives extractNativeLibs
INFO: Extraction Directory: C:\Users\Arjen\Documents\jMonkeyProjects\EnemyAhead
12-jan-2013 13:54:26 com.jme3.system.lwjgl.LwjglAbstractDisplay run
INFO: Using LWJGL 2.8.4
12-jan-2013 13:54:26 com.jme3.system.lwjgl.LwjglDisplay createContext
INFO: Selected display mode: 640 x 480 x 0 @0Hz
12-jan-2013 13:54:26 com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Adapter: atiu9p64 aticfx64 atiu9pag aticfx32 atiumd64 atidxx64 atiumdag atidxx32 atiumdva atiumd6a atitmm64
12-jan-2013 13:54:26 com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Driver Version: null
12-jan-2013 13:54:26 com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Vendor: ATI Technologies Inc.
12-jan-2013 13:54:26 com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: OpenGL Version: 3.2.9551 Compatibility Profile Context
12-jan-2013 13:54:26 com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Renderer: ATI Radeon 3000 Graphics
12-jan-2013 13:54:26 com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: GLSL Ver: 1.50
12-jan-2013 13:54:26 com.jme3.system.lwjgl.LwjglTimer
INFO: Timer resolution: 1.000 ticks per second
12-jan-2013 13:54:26 com.jme3.renderer.lwjgl.LwjglRenderer initialize
INFO: Caps: [FrameBuffer, FrameBufferMRT, FrameBufferMultisample, TextureMultisample, OpenGL20, OpenGL21, OpenGL30, OpenGL31, OpenGL32, ARBprogram, GLSL100, GLSL110, GLSL120, GLSL130, GLSL140, GLSL150, VertexTextureFetch, TextureArray, TextureBuffer, FloatTexture, FloatColorBuffer, FloatDepthBuffer, PackedFloatTexture, SharedExponentTexture, PackedFloatColorBuffer, TextureCompressionLATC, NonPowerOfTwoTextures, MeshInstancing, VertexBufferArray, Multisample, PackedDepthStencilBuffer]
12-jan-2013 13:54:27 com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.blender.BlenderModelLoader
12-jan-2013 13:54:27 com.jme3.asset.DesktopAssetManager
INFO: DesktopAssetManager created.
12-jan-2013 13:54:27 com.jme3.renderer.Camera
INFO: Camera created (W: 640, H: 480)
12-jan-2013 13:54:27 com.jme3.renderer.Camera
INFO: Camera created (W: 640, H: 480)
12-jan-2013 13:54:27 com.jme3.input.lwjgl.LwjglMouseInput initialize
INFO: Mouse created.
12-jan-2013 13:54:27 com.jme3.input.lwjgl.LwjglKeyInput initialize
INFO: Keyboard created.
AL lib: MMDevApiOpenPlayback: Device init failed: 0x80004005
AL lib: MMDevApiOpenPlayback: Device init failed: 0x80004005
AL lib: MMDevApiOpenPlayback: Device init failed: 0x80004005
AL lib: MMDevApiOpenPlayback: Device init failed: 0x80004005
12-jan-2013 13:54:27 com.aurellem.capture.audio.AudioSendRenderer initInThread
SEVERE: Failed to load audio library
org.lwjgl.LWJGLException: Could not locate OpenAL library.
at org.lwjgl.openal.AL.create(AL.java:151)
at org.lwjgl.openal.AL.create(AL.java:102)
at com.aurellem.capture.audio.AudioSendRenderer.initInThread(Unknown Source)
at com.jme3.audio.lwjgl.LwjglAudioRenderer.run(LwjglAudioRenderer.java:98)
at java.lang.Thread.run(Thread.java:662)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
I think it has to do with my onboard soundcard (Realtek ALC662) but I am not sure (I use WIndows 7). When I check the properties with a program named ‘AIDA64 Extreme Edition’ it tells me the OpenAL Properties:
Supplier: Creative Labs Inc.
Renderer: Software
Version: 1.1
Device Name: Generic Software
OpenAL DLL: 6.14.0357.24
Creative OpenAL DLL: Not available
Wrapper DLL: 2.2.0.5
Hardware Audio Buffers: 0
X-RAM: Not available
OpenAL extensions:
Everything is supported, except for EAX3.0 / EAX4.0 / EAX5.0 and EAX-RAM
To record, I use the following in my main:
[java]File video = File.createTempFile(“JME-water-video”, “.avi”);
File audio = File.createTempFile(“JME-water-audio”, “.wav”);
app.setTimer(new IsoTimer(30));
Capture.captureVideo(app, video);
Capture.captureAudio(app, audio);
System.out.println(video.getCanonicalPath());
System.out.println(audio.getCanonicalPath());[/java]
When running the game without these lines (and thus without recording) I do not experience any issues with sound at all.
Any idea if and how I can solve this, or am I doomed to record without sound and in parallel record sound via Audacity (for instance) and use blender to put video and audio together?