JBullet: How to detect the first contact/hit and play sound?

Let’s face it: projects which use Bullet are mostly simulations.

Seriously, search “Bullet physics” on YouTube and most of the search results will be videos of physics simulations (500K wooden planks vs rolling ball, voronoi shatter, ball vs brick wall…you get the idea). I intend to use the library (or more specifically, the Java port of the library) in my 3D game.

Just wondering, how many of you actually use jBullet in game projects? I’m curious to know if it suits my needs. Right now, game physics is my biggest hurdle, and I’m struggling to figure out how I’m supposed to, say, play a sound when something lands on the floor.

Bullet has a collision callback, but the collision callback is called for as long as the object is in contact with another object, instead of being called when the object FIRST collides with another object. This means that if I use the collision callback to play impact sounds, the sounds will be played repeatedly for as long as the object is in contact with the other object.

Of course, there are workarounds, but it’d be incredibly messy and I want to avoid that. Are there any Bullet wizards here? I need a little help, maybe just a nudge in the right direction. Thanks in advance.

tl;dr it’s difficult to use Bullet to write something other than a simulation. I need to play collision sounds. Help?