Using OpenAL? Then know this

Construct your AL instance with


al = new AL("DirectSound3D", 44100, 120, false);

for now, until we can figure out a better way to make sound work properly. I’m talking to the OpenAL dev list at the moment - as usual they’re kinda scared of Java and assume that Java’s doing something funny to their API to make it misbehave etc. but there’s much deeper roots to the problem.

Right now the OpenAL devs seem to have “successful application works so the API must be perfect” heads on brought about by UT2003. This must be addressed!

The construction of OpenAL is anything but platform independent - you have to pick a named device (and get the capitalization right!) or it plays what sounds like a completely different sound or has 100ms lag!

The context creation parameters are ignored I believe under Win32 which makes them useless. I still can’t do synchronous processing which means I’m at the mercy of the thread scheduler, and it shows - I get sounds playing halfway through, or sounds not playing at all, or sounds playing a second after they were scheduled. If you try to call the synchronous processing methods on Win32 instead of returning an error code it just hangs. No good. We need it to work reliably in all implementations.

And of course if I ran that constructor on Linux it would do something completely different and probably not work properly. Arse.

Watch this space.

Cas :slight_smile:

Hm, actually you can pass in null after all!

But it would seem that the results are radically different to what you might have been expecting.

More news later.

Cas :slight_smile:

Wasn’t there a problem compiling the newest OAL for win32? If so, the bug(s) might already be corrected?

  • elias

Been there…

Brian’s compiled the latest from CVS which seems to be working better.

I also further suspect that my soundcard (ESS somethingorother in my Inspiron) is a crock of shite. YMMV.

So ignore everything I said in the first post and just construct with the default constructor and hide all the parameters.

Cas :slight_smile: