Class ShadowAudioRecord

java.lang.Object
org.robolectric.shadows.ShadowAudioRecord

@Implements(android.media.AudioRecord.class) public final class ShadowAudioRecord extends Object
Shadow AudioRecord which by default will fulfil any requests for audio data by completely filling any requested buffers.

It is also possible to provide the underlying data by implementing ShadowAudioRecord.AudioRecordSource and setting this via setSourceProvider(AudioRecordSourceProvider).

  • Constructor Details

    • ShadowAudioRecord

      public ShadowAudioRecord()
  • Method Details

    • setSource

      @Deprecated public static void setSource(ShadowAudioRecord.AudioRecordSource source)
      Sets ShadowAudioRecord.AudioRecordSource to be used for providing data to AudioRecord.
    • setSourceProvider

      public static void setSourceProvider(ShadowAudioRecord.AudioRecordSourceProvider audioRecordSourceProvider)
      Sets ShadowAudioRecord.AudioRecordSourceProvider to be used for providing data of AudioRecord.
    • clearSource

      @Resetter public static void clearSource()
      Resets ShadowAudioRecord.AudioRecordSource to be used for providing data to AudioRecord, so that all requests are fulfilled for audio data by completely filling any requested buffers.
    • native_get_min_buff_size

      @Implementation protected static int native_get_min_buff_size(int sampleRateInHz, int channelCount, int audioFormat)
    • native_start

      @Implementation protected int native_start(int syncEvent, int sessionId)
    • native_read_in_byte_array

      @Implementation(minSdk=23) protected int native_read_in_byte_array(byte[] audioData, int offsetInBytes, int sizeInBytes, boolean isBlocking)
    • native_read_in_short_array

      @Implementation(minSdk=23) protected int native_read_in_short_array(short[] audioData, int offsetInShorts, int sizeInShorts, boolean isBlocking)
    • native_read_in_float_array

      @Implementation(minSdk=23) protected int native_read_in_float_array(float[] audioData, int offsetInFloats, int sizeInFloats, boolean isBlocking)
    • native_read_in_direct_buffer

      @Implementation(minSdk=23) protected int native_read_in_direct_buffer(Object jBuffer, int sizeInBytes, boolean isBlocking)
    • native_setInputDevice

      @Implementation(minSdk=23) protected boolean native_setInputDevice(int preferredDeviceId)