AudioRecord.Read Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
Read(Single[], Int32, Int32, Int32) |
Reads audio data from the audio hardware for recording into a float array. |
Read(Byte[], Int32, Int32, Int32) |
Reads audio data from the audio hardware for recording into a byte array. |
Read(Int16[], Int32, Int32) |
Reads audio data from the audio hardware for recording into a short array. |
Read(Int16[], Int32, Int32, Int32) |
Reads audio data from the audio hardware for recording into a short array. |
Read(ByteBuffer, Int32, Int32) |
Reads audio data from the audio hardware for recording into a direct buffer. |
Read(Byte[], Int32, Int32) |
Reads audio data from the audio hardware for recording into a byte array. |
Read(ByteBuffer, Int32) |
Reads audio data from the audio hardware for recording into a direct buffer. |
Read(Single[], Int32, Int32, Int32)
Reads audio data from the audio hardware for recording into a float array.
[Android.Runtime.Register("read", "([FIII)I", "GetRead_arrayFIIIHandler", ApiSince=23)]
public virtual int Read (float[] audioData, int offsetInFloats, int sizeInFloats, int readMode);
[<Android.Runtime.Register("read", "([FIII)I", "GetRead_arrayFIIIHandler", ApiSince=23)>]
abstract member Read : single[] * int * int * int -> int
override this.Read : single[] * int * int * int -> int
Parameters
- audioData
- Single[]
the array to which the recorded audio data is written.
- offsetInFloats
- Int32
index in audioData from which the data is written. Must not be negative, or cause the data access to go out of bounds of the array.
- sizeInFloats
- Int32
the number of requested floats. Must not be negative, or cause the data access to go out of bounds of the array.
- readMode
- Int32
one of #READ_BLOCKING
, #READ_NON_BLOCKING
.
<br>With #READ_BLOCKING
, the read will block until all the requested data
is read.
<br>With #READ_NON_BLOCKING
, the read will return immediately after
reading as much audio data as possible without blocking.
Returns
zero or the positive number of floats that were read, or one of the following
error codes. The number of floats will be a multiple of the channel count not to exceed
sizeInFloats.
<ul>
<li>#ERROR_INVALID_OPERATION
if the object isn't properly initialized</li>
<li>#ERROR_BAD_VALUE
if the parameters don't resolve to valid data and indexes</li>
<li>#ERROR_DEAD_OBJECT
if the object is not valid anymore and
needs to be recreated. The dead object error code is not returned if some data was
successfully transferred. In this case, the error is returned at the next read()</li>
<li>#ERROR
in case of other error</li>
</ul>
- Attributes
Remarks
Reads audio data from the audio hardware for recording into a float array. The format specified in the AudioRecord constructor should be AudioFormat#ENCODING_PCM_FLOAT
to correspond to the data in the array.
Java documentation for android.media.AudioRecord.read(float[], int, int, int)
.
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.
Applies to
Read(Byte[], Int32, Int32, Int32)
Reads audio data from the audio hardware for recording into a byte array.
[Android.Runtime.Register("read", "([BIII)I", "GetRead_arrayBIIIHandler", ApiSince=23)]
public virtual int Read (byte[] audioData, int offsetInBytes, int sizeInBytes, int readMode);
[<Android.Runtime.Register("read", "([BIII)I", "GetRead_arrayBIIIHandler", ApiSince=23)>]
abstract member Read : byte[] * int * int * int -> int
override this.Read : byte[] * int * int * int -> int
Parameters
- audioData
- Byte[]
the array to which the recorded audio data is written.
- offsetInBytes
- Int32
index in audioData to which the data is written expressed in bytes. Must not be negative, or cause the data access to go out of bounds of the array.
- sizeInBytes
- Int32
the number of requested bytes. Must not be negative, or cause the data access to go out of bounds of the array.
- readMode
- Int32
one of #READ_BLOCKING
, #READ_NON_BLOCKING
.
<br>With #READ_BLOCKING
, the read will block until all the requested data
is read.
<br>With #READ_NON_BLOCKING
, the read will return immediately after
reading as much audio data as possible without blocking.
Returns
zero or the positive number of bytes that were read, or one of the following
error codes. The number of bytes will be a multiple of the frame size in bytes
not to exceed sizeInBytes.
<ul>
<li>#ERROR_INVALID_OPERATION
if the object isn't properly initialized</li>
<li>#ERROR_BAD_VALUE
if the parameters don't resolve to valid data and indexes</li>
<li>#ERROR_DEAD_OBJECT
if the object is not valid anymore and
needs to be recreated. The dead object error code is not returned if some data was
successfully transferred. In this case, the error is returned at the next read()</li>
<li>#ERROR
in case of other error</li>
</ul>
- Attributes
Remarks
Reads audio data from the audio hardware for recording into a byte array. The format specified in the AudioRecord constructor should be AudioFormat#ENCODING_PCM_8BIT
to correspond to the data in the array. The format can be AudioFormat#ENCODING_PCM_16BIT
, but this is deprecated.
Java documentation for android.media.AudioRecord.read(byte[], int, int, int)
.
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.
Applies to
Read(Int16[], Int32, Int32)
Reads audio data from the audio hardware for recording into a short array.
[Android.Runtime.Register("read", "([SII)I", "GetRead_arraySIIHandler")]
public virtual int Read (short[] audioData, int offsetInShorts, int sizeInShorts);
[<Android.Runtime.Register("read", "([SII)I", "GetRead_arraySIIHandler")>]
abstract member Read : int16[] * int * int -> int
override this.Read : int16[] * int * int -> int
Parameters
- audioData
- Int16[]
the array to which the recorded audio data is written.
- offsetInShorts
- Int32
index in audioData to which the data is written expressed in shorts. Must not be negative, or cause the data access to go out of bounds of the array.
- sizeInShorts
- Int32
the number of requested shorts. Must not be negative, or cause the data access to go out of bounds of the array.
Returns
zero or the positive number of shorts that were read, or one of the following
error codes. The number of shorts will be a multiple of the channel count not to exceed
sizeInShorts.
<ul>
<li>#ERROR_INVALID_OPERATION
if the object isn't properly initialized</li>
<li>#ERROR_BAD_VALUE
if the parameters don't resolve to valid data and indexes</li>
<li>#ERROR_DEAD_OBJECT
if the object is not valid anymore and
needs to be recreated. The dead object error code is not returned if some data was
successfully transferred. In this case, the error is returned at the next read()</li>
<li>#ERROR
in case of other error</li>
</ul>
- Attributes
Remarks
Reads audio data from the audio hardware for recording into a short array. The format specified in the AudioRecord constructor should be AudioFormat#ENCODING_PCM_16BIT
to correspond to the data in the array.
Java documentation for android.media.AudioRecord.read(short[], int, int)
.
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.
Applies to
Read(Int16[], Int32, Int32, Int32)
Reads audio data from the audio hardware for recording into a short array.
[Android.Runtime.Register("read", "([SIII)I", "GetRead_arraySIIIHandler", ApiSince=23)]
public virtual int Read (short[] audioData, int offsetInShorts, int sizeInShorts, int readMode);
[<Android.Runtime.Register("read", "([SIII)I", "GetRead_arraySIIIHandler", ApiSince=23)>]
abstract member Read : int16[] * int * int * int -> int
override this.Read : int16[] * int * int * int -> int
Parameters
- audioData
- Int16[]
the array to which the recorded audio data is written.
- offsetInShorts
- Int32
index in audioData from which the data is written expressed in shorts. Must not be negative, or cause the data access to go out of bounds of the array.
- sizeInShorts
- Int32
the number of requested shorts. Must not be negative, or cause the data access to go out of bounds of the array.
- readMode
- Int32
one of #READ_BLOCKING
, #READ_NON_BLOCKING
.
<br>With #READ_BLOCKING
, the read will block until all the requested data
is read.
<br>With #READ_NON_BLOCKING
, the read will return immediately after
reading as much audio data as possible without blocking.
Returns
zero or the positive number of shorts that were read, or one of the following
error codes. The number of shorts will be a multiple of the channel count not to exceed
sizeInShorts.
<ul>
<li>#ERROR_INVALID_OPERATION
if the object isn't properly initialized</li>
<li>#ERROR_BAD_VALUE
if the parameters don't resolve to valid data and indexes</li>
<li>#ERROR_DEAD_OBJECT
if the object is not valid anymore and
needs to be recreated. The dead object error code is not returned if some data was
successfully transferred. In this case, the error is returned at the next read()</li>
<li>#ERROR
in case of other error</li>
</ul>
- Attributes
Remarks
Reads audio data from the audio hardware for recording into a short array. The format specified in the AudioRecord constructor should be AudioFormat#ENCODING_PCM_16BIT
to correspond to the data in the array.
Java documentation for android.media.AudioRecord.read(short[], int, int, int)
.
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.
Applies to
Read(ByteBuffer, Int32, Int32)
Reads audio data from the audio hardware for recording into a direct buffer.
[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;II)I", "GetRead_Ljava_nio_ByteBuffer_IIHandler", ApiSince=23)]
public virtual int Read (Java.Nio.ByteBuffer audioBuffer, int sizeInBytes, int readMode);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;II)I", "GetRead_Ljava_nio_ByteBuffer_IIHandler", ApiSince=23)>]
abstract member Read : Java.Nio.ByteBuffer * int * int -> int
override this.Read : Java.Nio.ByteBuffer * int * int -> int
Parameters
- audioBuffer
- ByteBuffer
the direct buffer to which the recorded audio data is written. Data is written to audioBuffer.position().
- sizeInBytes
- Int32
the number of requested bytes. It is recommended but not enforced that the number of bytes requested be a multiple of the frame size (sample size in bytes multiplied by the channel count).
- readMode
- Int32
one of #READ_BLOCKING
, #READ_NON_BLOCKING
.
<br>With #READ_BLOCKING
, the read will block until all the requested data
is read.
<br>With #READ_NON_BLOCKING
, the read will return immediately after
reading as much audio data as possible without blocking.
Returns
zero or the positive number of bytes that were read, or one of the following
error codes. The number of bytes will not exceed sizeInBytes and will be truncated to be
a multiple of the frame size.
<ul>
<li>#ERROR_INVALID_OPERATION
if the object isn't properly initialized</li>
<li>#ERROR_BAD_VALUE
if the parameters don't resolve to valid data and indexes</li>
<li>#ERROR_DEAD_OBJECT
if the object is not valid anymore and
needs to be recreated. The dead object error code is not returned if some data was
successfully transferred. In this case, the error is returned at the next read()</li>
<li>#ERROR
in case of other error</li>
</ul>
- Attributes
Remarks
Reads audio data from the audio hardware for recording into a direct buffer. If this buffer is not a direct buffer, this method will always return 0. Note that the value returned by java.nio.Buffer#position()
on this buffer is unchanged after a call to this method. The representation of the data in the buffer will depend on the format specified in the AudioRecord constructor, and will be native endian.
Java documentation for android.media.AudioRecord.read(java.nio.ByteBuffer, int, int)
.
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.
Applies to
Read(Byte[], Int32, Int32)
Reads audio data from the audio hardware for recording into a byte array.
[Android.Runtime.Register("read", "([BII)I", "GetRead_arrayBIIHandler")]
public virtual int Read (byte[] audioData, int offsetInBytes, int sizeInBytes);
[<Android.Runtime.Register("read", "([BII)I", "GetRead_arrayBIIHandler")>]
abstract member Read : byte[] * int * int -> int
override this.Read : byte[] * int * int -> int
Parameters
- audioData
- Byte[]
the array to which the recorded audio data is written.
- offsetInBytes
- Int32
index in audioData from which the data is written expressed in bytes.
- sizeInBytes
- Int32
the number of requested bytes.
Returns
zero or the positive number of bytes that were read, or one of the following
error codes. The number of bytes will not exceed sizeInBytes.
<ul>
<li>#ERROR_INVALID_OPERATION
if the object isn't properly initialized</li>
<li>#ERROR_BAD_VALUE
if the parameters don't resolve to valid data and indexes</li>
<li>#ERROR_DEAD_OBJECT
if the object is not valid anymore and
needs to be recreated. The dead object error code is not returned if some data was
successfully transferred. In this case, the error is returned at the next read()</li>
<li>#ERROR
in case of other error</li>
</ul>
- Attributes
Remarks
Reads audio data from the audio hardware for recording into a byte array. The format specified in the AudioRecord constructor should be AudioFormat#ENCODING_PCM_8BIT
to correspond to the data in the array.
Java documentation for android.media.AudioRecord.read(byte[], int, int)
.
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.
Applies to
Read(ByteBuffer, Int32)
Reads audio data from the audio hardware for recording into a direct buffer.
[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;I)I", "GetRead_Ljava_nio_ByteBuffer_IHandler")]
public virtual int Read (Java.Nio.ByteBuffer audioBuffer, int sizeInBytes);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;I)I", "GetRead_Ljava_nio_ByteBuffer_IHandler")>]
abstract member Read : Java.Nio.ByteBuffer * int -> int
override this.Read : Java.Nio.ByteBuffer * int -> int
Parameters
- audioBuffer
- ByteBuffer
the direct buffer to which the recorded audio data is written. Data is written to audioBuffer.position().
- sizeInBytes
- Int32
the number of requested bytes. It is recommended but not enforced that the number of bytes requested be a multiple of the frame size (sample size in bytes multiplied by the channel count).
Returns
zero or the positive number of bytes that were read, or one of the following
error codes. The number of bytes will not exceed sizeInBytes and will be truncated to be
a multiple of the frame size.
<ul>
<li>#ERROR_INVALID_OPERATION
if the object isn't properly initialized</li>
<li>#ERROR_BAD_VALUE
if the parameters don't resolve to valid data and indexes</li>
<li>#ERROR_DEAD_OBJECT
if the object is not valid anymore and
needs to be recreated. The dead object error code is not returned if some data was
successfully transferred. In this case, the error is returned at the next read()</li>
<li>#ERROR
in case of other error</li>
</ul>
- Attributes
Remarks
Reads audio data from the audio hardware for recording into a direct buffer. If this buffer is not a direct buffer, this method will always return 0. Note that the value returned by java.nio.Buffer#position()
on this buffer is unchanged after a call to this method. The representation of the data in the buffer will depend on the format specified in the AudioRecord constructor, and will be native endian.
Java documentation for android.media.AudioRecord.read(java.nio.ByteBuffer, int)
.
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.