AudioRecord.Builder
  public
  static
  
  
  class
  AudioRecord.Builder
  
    extends Object
  
  
  
  
  
  
  
    
  Builder class for AudioRecord objects.
 Use this class to configure and create an AudioRecord instance. By setting the
 recording source and audio format parameters, you indicate which of
 those vary from the default behavior on the device.
 
 Here is an example where Builder is used to specify all AudioFormat
 parameters, to be used by a new AudioRecord instance:
 
 AudioRecord recorder = new AudioRecord.Builder()
         .setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION)
         .setAudioFormat(new AudioFormat.Builder()
                 .setEncoding(AudioFormat.ENCODING_PCM_16BIT)
                 .setSampleRate(32000)
                 .setChannelMask(AudioFormat.CHANNEL_IN_MONO)
                 .build())
         .setBufferSizeInBytes(2*minBuffSize)
         .build();
 
 
 If the audio source is not set with setAudioSource(int),
 MediaRecorder.AudioSource.DEFAULT is used.
 
If the audio format is not specified or is incomplete, its channel configuration will be
 AudioFormat.CHANNEL_IN_MONO, and the encoding will be
 AudioFormat.ENCODING_PCM_16BIT.
 The sample rate will depend on the device actually selected for capture and can be queried
 with AudioRecord.getSampleRate() method.
 
If the buffer size is not specified with setBufferSizeInBytes(int),
 the minimum buffer size for the source is used.
Summary
| Public constructors | 
|---|
  
  
  
    | 
      Builder()
      Constructs a new Builder with the default values as described above.
        
    
 | 
  
| Inherited methods | 
|---|
| 
    From class
      
        
          java.lang.Object
        
      
      
  
  
  
    | 
        
        
        
        
        
        Object | 
      clone()
      Creates and returns a copy of this object.
        
    
 |  
  
  
    | 
        
        
        
        
        
        boolean | 
      equals(Object obj)
      Indicates whether some other object is "equal to" this one.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      finalize()
      Called by the garbage collector on an object when garbage collection
 determines that there are no more references to the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        Class<?> | 
      getClass()
      Returns the runtime class of this Object. |  
  
  
    | 
        
        
        
        
        
        int | 
      hashCode()
      Returns a hash code value for the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      notify()
      Wakes up a single thread that is waiting on this object's
 monitor.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      notifyAll()
      Wakes up all threads that are waiting on this object's monitor.
        
    
 |  
  
  
    | 
        
        
        
        
        
        String | 
      toString()
      Returns a string representation of the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait(long timeoutMillis, int nanos)
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait(long timeoutMillis)
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait()
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted.
        
    
 |  | 
Public constructors
    Builder
    
public Builder ()
    
    
    
  Constructs a new Builder with the default values as described above.
 
Public methods
    
    
public AudioRecord.Builder setAudioPlaybackCaptureConfig (AudioPlaybackCaptureConfiguration config)
    
    
    
  Sets the AudioRecord to record audio played by other apps.
    
    | Parameters | 
|---|
      
        | config | AudioPlaybackCaptureConfiguration: Defines what apps to record audio from (i.e., via either their uid or
               the type of audio).
 This value cannot benull. | 
    
    
      
  
 
    setBufferSizeInBytes
    
public AudioRecord.Builder setBufferSizeInBytes (int bufferSizeInBytes)
    
    
    
  Sets the total size (in bytes) of the buffer where audio data is written
 during the recording. New audio data can be read from this buffer in smaller chunks
 than this size. See AudioRecord.getMinBufferSize(int, int, int) to determine the minimum
 required buffer size for the successful creation of an AudioRecord instance.
 Since bufferSizeInBytes may be internally increased to accommodate the source
 requirements, use AudioRecord.getBufferSizeInFrames() to determine the actual buffer size
 in frames.
    
    | Parameters | 
|---|
      
        | bufferSizeInBytes | int: a value strictly greater than 0 | 
    
    
      
  
 
    setContext
    
public AudioRecord.Builder setContext (Context context)
    
    
    
  Sets the context the record belongs to. This context will be used to pull information,
 such as AttributionSource and device specific session ids,
 which will be associated with the AudioRecord the AudioRecord.
 However, the context itself will not be retained by the AudioRecord.
    
    | Parameters | 
|---|
      
        | context | Context: a non-nullContextinstance | 
    
    
 
    setPrivacySensitive
    
public AudioRecord.Builder setPrivacySensitive (boolean privacySensitive)
    
    
    
  Indicates that this capture request is privacy sensitive and that
 any concurrent capture is not permitted.
 
 The default is not privacy sensitive except when the audio source set with
 setAudioSource(int) is MediaRecorder.AudioSource.VOICE_COMMUNICATION or
 MediaRecorder.AudioSource.CAMCORDER.
 
 Always takes precedence over default from audio source when set explicitly.
 
 Using this API is only permitted when the audio source is one of:
 
 Invoking 
build() will throw an UnsupportedOperationException if this
 condition is not met.
    
    | Parameters | 
|---|
      
        | privacySensitive | boolean: True if capture from this AudioRecord must be marked as privacy
 sensitive, false otherwise. |