For streams you can ask the current time with FSOUND_Stream_GetTime and the total longitude with FSOUND_Stream_GetLengthMs. This way when they lack few seconds you can lower the volume with FSOUND_SetVolume.
This is one in the ways of making it, for the time being…