Please note that this is not a java question, though the problem manifests itself through the usage of a java program.
I am running a java-based music player on two machines, one running 11.2 and the other running 11.3.
I wrote the code myself, so I have complete control over it. Both machines have Sun java development kit installed, and both have version 1.6.0.
The tracks of a given album are each played by a separate thread. Each thread requests the use of the audio device and plays through it. Under 11.2, the device is then locked for the use of this thread, and once the playing is through the lock on the device is automatically removed and the next thread starts playing its music without difficulty. I have no control over this lock, though. It appears to happen at the OS level, independently of my code.
When the exact same code is running under 11.3 the first thread plays through as before, but then the next thread does not manage to get hold of the audio device. It appears to play but no music is heard. When it finishes and the third thread tries to start, I get a “line unavailable” exception.
Can anyone explain to me the difference between 11.2 and 11.3 in the locking mechanism of audio devices by an application? Is there anything programmatic I can do to remove the lock myself?
Thanks,
Abe.