The problem is far more complex than you think.
The distance from the sound effect needs to be calculated real time. A bomb 2 klicks in front of you detonates. If you were stationary, the sound would take approximately 6 seconds to reach you.
However you are very unlikely to be stationary. A fast jet moving towards the location could be moving at 300 mS. So you and the sound collide after roughly 3 seconds.
You could write a java class to handle this. Instead of sending the sound event to the c++ code, you could add it to a manager which only plays the sound effect when it calculates you should, but I don't think it would work very well.
It might be possible to use an external application to handle 3D audio, but you would have to communicate with it by TCP/IP.
If I had to, I would design something like this.
Load and start external application.
{
Creates a server on a uncommon port.
}
Load and start game.
{
Creates a client and connects to server.
}
Start mission
{
Send a list of sound effects required to server, which then loads them into memory.
Register plane as listener
}
Weapon detonates
{
Send a packet with the effect id and location to server.
}
Every frame
{
Send a packet with the listener location to the server. Server renders the audio.
}
Not easy, resource hungry, and relies on loopback TCP/IP