AudioRecord.Builder Class

Definition

Builder class for AudioRecord objects.

[Android.Runtime.Register("android/media/AudioRecord$Builder", ApiSince=23, DoNotGenerateAcw=true)]
public class AudioRecord.Builder : Java.Lang.Object
[<Android.Runtime.Register("android/media/AudioRecord$Builder", ApiSince=23, DoNotGenerateAcw=true)>]
type AudioRecord.Builder = class
    inherit Object
Inheritance
AudioRecord.Builder
Attributes

Remarks

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. <br>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 #getSampleRate() method. <br>If the buffer size is not specified with #setBufferSizeInBytes(int), the minimum buffer size for the source is used.

Java documentation for android.media.AudioRecord.Builder.

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Constructors

Name Description
AudioRecord.Builder()

Constructs a new Builder with the default values as described above.

AudioRecord.Builder(IntPtr, JniHandleOwnership)

Properties

Name Description
Class

Returns the runtime class of this Object.

(Inherited from Object)
Handle

The handle to the underlying Android instance.

(Inherited from Object)
JniIdentityHashCode

Gets the identity hash code assigned to this Java peer by the interop runtime.

(Inherited from Object)
JniManagedPeerState (Inherited from JavaObject)
JniPeerMembers
PeerReference

Gets the JNI object reference for this Java peer.

(Inherited from Object)
ThresholdClass
ThresholdType

Methods

Name Description
Build()

Requires Manifest.permission.RECORD_AUDIO

Clone()

Creates and returns a copy of this object.

(Inherited from Object)
Construct(JniObjectReference, JniObjectReferenceOptions) (Inherited from JavaObject)
Dispose()

Releases the resources held by this Java peer.

(Inherited from Object)
Dispose(Boolean)

Releases the resources held by this Java peer.

(Inherited from Object)
DisposeUnlessReferenced() (Inherited from JavaObject)
Equals(Object) (Inherited from JavaObject)
Equals(Object)

Indicates whether some other object is "equal to" this one.

(Inherited from Object)
GetHashCode()

Returns a hash code value for the object.

(Inherited from Object)
JavaFinalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

(Inherited from Object)
Notify()

Wakes up a single thread that is waiting on this object's monitor.

(Inherited from Object)
NotifyAll()

Wakes up all threads that are waiting on this object's monitor.

(Inherited from Object)
SetAudioFormat(AudioFormat)

Sets the format of the audio data to be captured.

SetAudioPlaybackCaptureConfig(AudioPlaybackCaptureConfiguration)

Sets the AudioRecord to record audio played by other apps.

SetAudioSource(AudioSource)
SetBufferSizeInBytes(Int32)

Sets the total size (in bytes) of the buffer where audio data is written during the recording.

SetContext(Context)

Sets the context the record belongs to.

SetHandle(IntPtr, JniHandleOwnership)

Sets the Handle property.

(Inherited from Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions) (Inherited from JavaObject)
SetPrivacySensitive(Boolean)

Indicates that this capture request is privacy sensitive and that any concurrent capture is not permitted.

ToArray<T>()

Creates a managed array from this Java array wrapper.

(Inherited from Object)
ToString()

Returns a string representation of the object.

(Inherited from Object)
UnregisterFromRuntime()

Unregisters this Java peer from the interop runtime.

(Inherited from Object)
Wait()

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>.

(Inherited from Object)
Wait(Int64, Int32)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)
Wait(Int64)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)

Explicit Interface Implementations

Name Description
IJavaPeerable.Disposed() (Inherited from JavaObject)
IJavaPeerable.Finalized() (Inherited from JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock (Inherited from JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32) (Inherited from JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) (Inherited from JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference) (Inherited from JavaObject)

Extension Methods

Name Description
GetJniTypeName(IJavaPeerable)

Gets the JNI name of the type of the instance self.

JavaAs<TResult>(IJavaPeerable)

Try to coerce self to type TResult, checking that the coercion is valid on the Java side.

JavaCast<TResult>(IJavaObject)

Performs an Android runtime-checked type conversion.

JavaCast<TResult>(IJavaObject)
TryJavaCast<TResult>(IJavaPeerable, TResult)

Try to coerce self to type TResult, checking that the coercion is valid on the Java side.

Applies to