Audio3D Profile

ReverbControl

On S60 devices

The ReverbControl value reverb level does not map straight from JSR-234 side to S60 Effect API. As the reverb level is just a single value in JSR-234, the Effect API uses three different values (reverb level for late reverberation, reflections level for early reflections and room level for overall reverberation level) to define the same thing. That is, Effect API (which uses MMA's IA-SIG 2.0's definitions) has more fine-grain control over reverb than JSR-234.

JSR-234's definition is closest to the definition of reflections level in the Effect API. Therefore, the mapping of room level is currently done using the following algorithm:


int getReverbLevel()
       {
       return ( reflectionsLevel + roomLevel );
       }

int setReverbLevel( int newLevel )
       {
           if ( newLevel > 0 )
                  {
                  throw new IllegalArgumentException("Too high reverb level."); 
                  }
           int tempChange = newLevel - ( reflectionsLevel + roomLevel );
           reflectionsLevel = newLevel - roomLevel;
           reverbLevel = reverbLevel + tempChange;
           return newLevel;
       }

On Series 40 devices

ReverbControl does not support any other scope apart from LIVE_ONLY.

ReverbControl supports all environments specified in the JSR-234 specification.

SoundSource3D

On Series 40 devices

SoundSource3D accepts Players created with DRM-protected media.

Most JSR-135 audio formats are supported, except the following:

  • amr

  • amr-wb

For more information, see GlobalManager.getSupportedSoundSource3DPlayerTypes.