I'm developing a simple program with Qt that plays some songs, in each song for each instrument I have a mp3 track and the user has the ability to change the sound volume of each track separably so he can listen to the tracks he wants. The major problem I'm facing is that of synchronization. Especially if I'm running the program off of a CD or Pen-drive, I've had some ideas but they didn't work well.

Right now I'm using phonon but wouldn't mind changing to Mobility if necessary (only if really necessary). What strategy really works in this case? Why is it worst on CD or Pen-drive? Since I'm interested in mostly running from these sources how could I improve synchronization on these devices?