Class ShadowAudioEffect

java.lang.Object
org.robolectric.shadows.ShadowAudioEffect
Direct Known Subclasses:
ShadowDynamicsProcessing

@Implements(android.media.audiofx.AudioEffect.class) public class ShadowAudioEffect extends Object
Implements AudioEffect by shadowing its native methods.
  • Constructor Details

    • ShadowAudioEffect

      public ShadowAudioEffect()
  • Method Details

    • native_setup

      @Implementation(minSdk=16, maxSdk=22) protected int native_setup(Object audioEffectThis, String type, String uuid, int priority, int audioSession, int[] id, Object[] desc)
    • native_setup

      @Implementation(minSdk=23, maxSdk=29) protected int native_setup(Object audioEffectThis, String type, String uuid, int priority, int audioSession, int[] id, Object[] desc, String opPackageName)
    • native_setEnabled

      @Implementation protected int native_setEnabled(boolean enabled)
      Marks the AudioEffect as enabled, and always returns SUCCESS.
    • native_getEnabled

      @Implementation protected boolean native_getEnabled()
      Returns whether the AudioEffect is enabled (as per native_setEnabled(boolean)).
    • native_setParameter

      @Implementation protected int native_setParameter(int psize, byte[] param, int vsize, byte[] value)
      Sets the parameter with the given key param to the given value value.
      Returns:
      always SUCCESS
    • native_getParameter

      @Implementation protected int native_getParameter(int psize, byte[] param, int vsize, byte[] value)
      Gets the value of the parameter with key param, by putting its value in value.

      Note: Sub-classes of ShadowAudioEffect can declare default values for any parameters. Note: If the given parameter has not been set, and there is no default value for that parameter, then we "return" (set value to) a single integer 0.

      Returns:
      the size of the returned value, in bytes, or an error code in case of failure.
    • getDefaultParameter

      protected Optional<ByteBuffer> getDefaultParameter(ByteBuffer parameter)
      Allows sub-classes to provide default parameters.

      Override this method to provide default parameters.

    • getPriority

      public int getPriority()
      Returns the priority set in the AudioEffect ctor.
    • getAudioSession

      public int getAudioSession()
      Returns the audio session set in the AudioEffect ctor.
    • setInitialized

      public void setInitialized(boolean initialized)
      Updates the state of the AudioEffect itself.

      This can be used e.g. to put the AudioEffect in an unexpected state and cause an exception the next time the Visualizer is used.

    • setErrorCode

      public void setErrorCode(int errorCode)
      Sets the error code to override setter methods in this class.

      When the error code is set to anything other than SUCCESS setters in the AudioEffect will early-out and return that error code.

    • addEffect

      public static void addEffect(AudioEffect.Descriptor descriptor)
      Adds an effect represented by an AudioEffect.Descriptor, only to be queried from queryEffects().
    • queryEffects

      @Implementation protected static AudioEffect.Descriptor[] queryEffects()
      Returns the set of audio effects added through addEffect(android.media.audiofx.AudioEffect.Descriptor).

      Note: in the original AudioEffect implementation this method returns all the existing unique AudioEffects created through an AudioEffect ctor. In this implementation only the effects added through addEffect(android.media.audiofx.AudioEffect.Descriptor) are returned here.

    • getAudioEffects

      public static com.google.common.collect.ImmutableList<AudioEffect> getAudioEffects()
      Returns all effects created with an AudioEffect constructor.
    • native_release

      @Implementation protected void native_release()
      Removes this audio effect from the set of active audio effects.
    • reset

      @Resetter public static void reset()