Hi!
Did anybody wrote a small JOAL-Appliction which shows all Informations about the OpenAL implementation of the executing environment?
I have tried to but I must have forgotten something, because the results looked very strange to me.
That was my code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| import net.java.games.joal.*; import net.java.games.joal.util.*;
public class OpenALInfo {
AL al; ALC alc; public void initOpenAL() { try { al = ALFactory.getAL(); alc = ALFactory.getALC(); alc.alcOpenDevice(null); ALut.alutInit(); } catch (ALException exc){ print("Fehler bei der AL-Initialisierung: "+exc); } } public void print(String str) { System.out.println(str); } public void showALInfos() { print("OpenAL Version: "+al.alGetString(AL.AL_VERSION)); print("Renderer: "+al.alGetString(AL.AL_RENDERER)); print("Vendor: "+al.alGetString(AL.AL_VENDOR)); print("Available Extensions: "+al.alGetString(AL.AL_EXTENSIONS)); print(""); String devSpecs = ""; if (alc.alcGetDeviceSpecifiers() != null) { for (int i=0;i<alc.alcGetDeviceSpecifiers().length;i++) { devSpecs.concat(alc.alcGetDeviceSpecifiers()[i]); } } else devSpecs = "none"; print("Available Devices: "+devSpecs); print("ALC Extensions: "+alc.alcGetString(alc.alcGetContextsDevice(alc.alcGetCurrentContext()),ALC.ALC_EXTENSIONS)); String capDevSpecs = ""; if (alc.alcGetCaptureDeviceSpecifiers() != null) { for (int i=0;i<alc.alcGetCaptureDeviceSpecifiers().length;i++) { capDevSpecs.concat(alc.alcGetCaptureDeviceSpecifiers()[i]); } } else capDevSpecs = "none"; print("Available Capture Devices: "+capDevSpecs ); }
public static void main(String[] args) { OpenALInfo oali = new OpenALInfo(); oali.initOpenAL(); oali.showALInfos(); System.exit(-1); }
} |
My results were:
Version: OpenAL 1.2.1 (I thought 1.1 is the latest ?)
Renderer: Software (makes sense)
Vendor: Any (strange but ok)
Extensions : (no result...)
Available Devices: none
ALC Extensions : null
Available Capture Devices: none
It looks like the AL Context hasn't been created right...
Is there a problem with the code, my OpenAL-implementation or my hardware?
Greetings and thanks
Chris